參考博文地址:http://www.oseye.net/user/kevin/blog/170

1、matcher():仅仅有在整个字符串全然匹配才返回true,否则返回false。

可是假设部分匹配成功。匹配的位置将移动到下次匹配的位置

2、lookingAt():总是从第一个字符開始匹配。不管匹配成功与否,都不会再继续向下匹配

3、find():部分匹配,假设匹配成功。返回true,匹配的位置移动到下次匹配的位置。

package com.qunar.fresh.junweiyu.Test;import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Test_regx {public static void main(String[] args){Pattern pattern = Pattern.compile("\\d{3,5}");String s = "123-34345-234-00";Matcher matcher = pattern.matcher(s);/*matches:整个匹配,仅仅有整个字符序列全然匹配成功,才返回True,否则返回False。

但假设前部分匹配成功,将移动下次匹配的位置*/ System.out.println(matcher.matches()); /*false*/ /*測试匹配的位置*/ matcher.find(); System.out.println(matcher.start()); /*4*/ /*重置匹配的位置*/ matcher.reset(); /*find:部分匹配,从当前位置開始匹配,找到一个匹配的子串,将移动下次匹配的位置*/ System.out.println(matcher.find());/*true*/ System.out.println(matcher.group() + "---" + matcher.start());/*123---0*/ System.out.println(matcher.find());/*true*/ System.out.println(matcher.group() + "---" + matcher.start());/*34345---4*/ /*lookingAt:部分匹配。总是从第一个字符进行匹配,匹配成功了不再继续匹配。匹配失败了,也不继续匹配。

*/ System.out.println(matcher.lookingAt());/*true*/ System.out.println(matcher.group() + "---" + matcher.start());/*123---0*/ System.out.println(matcher.lookingAt());/*true*/ System.out.println(matcher.group() + "---" + matcher.start());/*123-0*/ } }

转载于:https://www.cnblogs.com/cxchanpin/p/6865697.html

Java中正则Matcher类的matches()、lookAt()和find()的差别相关推荐

  1. Java中正则Matcher类的matches()、lookAt()和find()的区别

    在Matcher类中有matches.lookingAt和find都是匹配目标的方法,但容易混淆,整理它们的区别如下: matches:整个匹配,只有整个字符序列完全匹配成功,才返回True,否则返回 ...

  2. java中的正则表达式类---表情转换实例

    Java中的正则表达式类 ________________________________________ public interface MatchResult 匹配操作的结果. 此接口包含用于确 ...

  3. JAVA基础(12.Java中的常用类String)

    目录 1.前言 2.日期(时间)相关类 2.1 日期类的应用场景 2.1.1Java中的日期相关的几个类 3. Java中的常用类学习方式 3.1 什么是常用类?为什么要学习? 3.2 怎么使用Jav ...

  4. java matcher函数,Java中的Matcher regionStart()方法与示例

    java.util.regex.Matcher类表示执行各种匹配操作的引擎.该类没有构造函数,可以使用类java.util.regex.Pattern的matchs()方法创建/获取该类的对象. 这个 ...

  5. java 中常用的类

    java 中常用的类 Math Math 类,包含用于执行基本数学运算的方法 常用API 取整 l  static double abs(double  a) 获取double 的绝对值 l  sta ...

  6. Java中的BigDecimal类你真的了解吗?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:HikariCP www.jianshu.com/p/c81 ...

  7. Java中常用的类及其特点

    Java中的内部类有四种(内部类作用1.封装装类型. 2.直接访问外部类成员. 3.回调.)内部类,方便他们的外部类调用,一般不会被其它类使用,比如事件监听器之类的,外部类刚好继承了一个别的类,如果你 ...

  8. java中的stack类和C++中的stack类的区别

    文章目录 1 java中的stack类和C++中的stack类的区别 1.1 java中的stack类 1.2 C++中的stack类 1.3 分析 不经意间想到了这个问题,存到栈中的是对象的引用,还 ...

  9. Java 中的 BigDecimal 类你了解多少?

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:什么?你还在使用fastjson,性能太差了个人原创+1博客:点击前往,查看更多 作者:HikariCP 链接: ...

最新文章

  1. MATLAB_4-形态学_腐蚀_膨胀_灰度图的腐蚀以及膨胀_开运算_闭运算_文章末尾有几个素材例子
  2. 如何将NSString转换为NSNumber
  3. 数据表_业务地址(Business Address)信息
  4. 微擎jsapi支付必须传openid怎么解决_面经腾讯微信支付面试记
  5. spring IOC 之篇三:默认标签的解析
  6. 部署好网站,同局域网中电脑无法访问的问题的解决方案
  7. 项目经理常见的沟通坏习惯
  8. stable_partition http://www.cplusplus.com/reference/algorithm/stable_partition/
  9. 2020最详细下载安装注册最新版 Secure CRT 8.7
  10. cad工具箱详细讲解_好用的cad工具箱 易桥CAD工具箱使用教程(附下载)
  11. 北航 软件学院课程 实用软件工具
  12. 华为应聘进展状态码解析(附加性格测试攻略)
  13. Jmeter随机常用变量
  14. 深度学习:用生成对抗网络(GAN)来恢复高分辨率(高精度)图片 (附源码,模型与数据集)
  15. POJ - Nice Milk(半平面交)
  16. 解决Minimum supported Gradle version is 4.6. Current version is 2.4.0
  17. 硬盘SMART检测参数attributes详解
  18. 未来20年内,无人驾驶将颠覆这33大行业
  19. 仿热血江湖游戏类46地面物品类
  20. java中任何变量都可以被赋值为null,关于异常处理:为什么“throw null”没有在Java中创建编译错误?...

热门文章

  1. 实例讲解js中的预编译
  2. HTML5 progress元素的样式控制、兼容与实例
  3. 算法之排列与组合算法
  4. 汇编语言--转移指令的原理
  5. calloc、malloc、realloc函数的区别及用法
  6. typedef的用法总结
  7. 常考数据结构与算法:反转字符串
  8. 常考数据结构与算法:合并k个已排序的链表
  9. c:数据结构-线性表
  10. bzoj千题计划262:bzoj4868: [六省联考2017]期末考试