參考博文地址: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*/ } }

Java中正则Matcher类的matches()、lookAt()和find()的差别的更多相关文章

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

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

  2. Java中正则Matcher类的matches()、lookAt()和find()的区别<转>

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

  3. Java字符串的匹配问题,String类的matches方法与Matcher类的matches方法的使用比较,Matcher类的matches()、find()和lookingAt()方法的使用比较

    参考网上相关blog,对Java字符串的匹配问题进行了简单的比较和总结,主要对String类的matches方法与Matcher类的matches方法进行了比较. 对Matcher类的matches( ...

  4. java中的File类

    File类 java中的File类其实和文件并没有多大关系,它更像一个对文件路径描述的类.它即可以代表某个路径下的特定文件,也可以用来表示该路径的下的所有文件,所以我们不要被它的表象所迷惑.对文件的真 ...

  5. 带有静态方法的类(java中的math类)

    带有静态方法的类通常(虽然不一定是这样)不打算被初始化. 可以用私有构造函数来限制非抽象类被初始化. 例如,java中的math类.它让构造函数标记为私有,所以你无法创建Math的实例.但Math类却 ...

  6. Java基础(43):Java中的Object类与其方法(转)

    Object类 java.lang.Object java.lang包在使用的时候无需显示导入,编译时由编译器自动导入. Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类. O ...

  7. java中基于TaskEngine类封装实现定时任务

    主要包括如下几个类: 文章标题:java中基于TaskEngine类封装实现定时任务 文章地址: http://blog.csdn.net/5iasp/article/details/10950529 ...

  8. Java中的Unsafe类111

    1.Unsafe类介绍 Unsafe类是在sun.misc包下,不属于Java标准.但是很多Java的基础类库,包括一些被广泛使用的高性能开发库都是基于Unsafe类开发的,比如Netty.Hadoo ...

  9. Java中遍历实体类(处理MongoDB)

    在实际过程中,经常要将实体类进行封装,尤其是处理数据库的过程中:因此,对于遍历实体类能够与数据库中的一行数据对应起来. 我是使用的环境是Spring boot,访问的数据库时MongoDB 实体类遍历 ...

随机推荐

  1. java 随机数 <%=System.currentTimeMillis() %>

    java 随机数<c:set var="version" value="<%=System.currentTimeMillis() %>"/& ...

  2. pm2 start命令中的json格式详解

    pm2 start npm -- start这条命令是pm2的万能命令,pm2 start <json>,就是这一系列命令中的最豪华命令.这个json我们可以理解为一个任务参数描述文件.通 ...

  3. sublime中项目无法添加文件夹

    问题记录 mac中,使用vue init webpack project 后,在sublime中打开,但是添加新文件夹和删除,总提示没有权限, 然后用git提交吧 也不行,每次都要sudo 出现的提示 ...

  4. JavaScript—获取当下往后七天的时间

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. NFS和DHCP服务

    1. NFS NFS,Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS: NFS允许一个系统在网络上与他人共享目录和文件 ...

  6. 如何将表的行数赋值给变量(MySQL)

    delimiter $$ drop procedure if exists test_at $$ create definer=root@localhost procedure test_at() b ...

  7. CTO俱乐部官方群聊-探讨创业和跳槽

     今天,CTO俱乐部官方群,有交流,若干活跃分子探讨了创业和跳槽等相关话题. 感觉质量很不错,就整理了下. 老徐 17:02:00  跳来跳去也不是长久之计,除了涨点工资   张苗苗 17:02:46 ...

  8. JSP配置即报错以及解决办法(未更新完)

    JSP: JAVA Server Page  使用JAVA语言编写的一种在服务器运行的动态页面 JSP = JAVA + HTML JSP 的执行过程 1: 翻译阶段  把JSP源文件翻译成 java ...

  9. 国内UED收录

    腾讯 腾讯CDC http://cdc.tencent.com/ CDC(Customer Research & User Experience Design Center)腾讯用户研究与体验 ...

  10. NYOJ27水池数目,类似于FZU1008最大黑区域,简单搜索题~~~

    水池数目 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上 ...