java.util.regex包是一个用于匹配字符序列与正则表达式指定的类库包。这个包中包含有三个类:Pattern、Matcher和PatternSyntaxException.

Pattern:正则表达式经编译后的表现模式

Matcher:一个Matcher对象是一个状态机器,依据Pattern对象作为匹配模式对字符串展开匹配检查。

使用流程

    首先使用Pattern的一个静态方法Complie来创建Pattern对象。

Pattern n=Pattern.Complie(regax);

然后,调用Pattern的方法matcher

Matcher m=p.matcher(Candidate);

得到Matcher对象,Matcher对象保存了许多匹配信息,通过find()方法查找匹配的部分,若有,返回TRUE,m.group()可得到匹配的各组值,否则,返回FALSE。

Pattern类的方法:

1、Static Pattern compile(String regex);

将给定的正则表达式编译并赋予给Parrern类;

Static Pattern compile(String regex,int flags);

2、int flags();

返回当前Pattern的匹配flags参数;

3、Matcher matcher(CharSequeue input);

生成一个给定命名的Matcher对象;

4、Static boolean matchers(String regex,CharSequeue intput);

编译给定的正则表达式并且对输入的字符串以该正则表达式为模式展开匹配,该方法适合于该正则表达式只会使用一次的情况,也就是只进行一次匹配工作,因为这种情况下,不需要生成一个Matcher实例。

5、String Pattern();

返回该Pattern对象所编译的表达式

6、String[] Split(CharSequeue input);

将目标字符串按照Pattern里所包含的正则表达式为模式进行分割。

String[] Split(CharSequeue input,int limit);//limit为指定分割的段数

Matcher类的方法:

1、Matcher appendReplacement(StringBuffer sb,String replacement);

将当前匹配子串替换为指定字符串,并且将替换后的子串以及其之前到上次匹配子串之后的字符串段添加到一个StringBuffer对象里。

2、StringBuffer appendTail(StringBuffer sb);

将最后一次匹配工作后剩余的字符串添加到一个StringBuffer对象里。

3、int end();

返回当前匹配的子串的最后一个字符串在原目标字符串的索引位置。

int end(int group);

返回与匹配模式里指定的但相匹配的子串最后一个字符的位置。

4、boolean find();

尝试在目标字符串里查找下一个匹配子串

boolean find(int start);

重设Matcher对象,并且尝试在目标字符串里从指定的位置开始查找下一个匹配的子串。

5、String group();

返回当前查找而获得的与组匹配的所有子串内容

String group(int group);

返回当前查找而获得的与指定的组匹配的子串内容

int groupCount();

返回当前查找所获得匹配组的数量。

6、boolean lookingAt();

检测目标字符串是否以匹配的子串起始

7、boolean matches();

尝试对整个目标字符串展开匹配检测,也就是对整个目标字符串完全匹配时才返回值。

8、Pttern pattern();

返回该Matcher对象的现有匹配模式,也就是对应的Pattern对象。

9、String replaceAll(String replacement);

将目标字符串里的所有与既有模式相匹配 的子串替换为指定的字符串

10、String replaceFirst(String repalcement);

只替换第一个。。。。。。。。。。。。。

11、Matcher reset()//重设该Matcher对象

Matcher reset()//重设该Matcher对象,并且制定一个新的目标字符串

12、int start();

返回当前查找所获子串的开始字符在原目标字符串中的位置。

13、int start(int group);

返回当前查找所获得的和指定组匹配的子串的第一个字符在原目标字符串中的位置。

转载于:https://blog.51cto.com/jx610/1572091

正则表达式:Pattern 与Matcher相关推荐

  1. Java基础 正则表达式 Pattern和Matcher

    主要用途:    通常正则表达式都是用来判断输入的字符串是否符合自己的要求. 在Java中主要用到的是java.utill.regex包下的类: 这里面主要用到的就是Pattern和Matcher两个 ...

  2. java中正则表达式Pattern与Matcher类使用详解(find、group)

    一.Pattern的使用 这个使用很简单. 1.把正则表达式编译为Pattern对象: 比如: Pattern compile = Pattern.compile("http://([a-z ...

  3. 14.常见对象(正则表达式,Pattern和Matcher类,Math类,Random类,System类,BigDecimal类,Date类,SimpleDateFormat类,Calendar类)

    1.正则表达式的概述和简单使用 1.正则表达式:正确规则的表达式 规则java给我们定的     是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用 ...

  4. Java 正则表达式 Pattern和Matcher类 Math类 Random类 System类 BigDecimal类

    14.01_正则表达式 A:正则表达式:正确规则的表达式,规则java给我们定的.指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.其实就是一种规则,有自己特殊的应用.B:组成规则:规 ...

  5. java正则表达式Pattern和Matcher

    Pattern和Matcher java.util.regex 包(处理正则表达式) 提供了两个用来处理正则表达式的工具类:Pattern和Matcher.Pattern用于建立待匹配的正则表达式模型 ...

  6. 正则表达式 Pattern 、Matcher

    一 Pattern和Matcher 1.1 相关 在使用正则表达式之前我们需了解Pattern和Matcher,为什么要了解他们呢? 他们用来解决String不能解决的问题,是很实用切强大的正则表达式 ...

  7. Java正则表达式Pattern和Matcher类详解

    转载自:http://blog.csdn.net/yin380697242/article/details/52049999 概述 Pattern类的作用在于编译正则表达式后创建一个匹配模式. Mat ...

  8. java matcher遍历_java正则表达式之Pattern与Matcher类详解

    Pattern.split方法详解 /** * 测试Pattern.split方法 */ @Test public void testPatternSplit() { String str = &qu ...

  9. java中正则表达式以及Pattern和Matcher

    正则匹配 // 反斜杠 /t 间隔 ('/u0009') /n 换行 ('/u000A') /r 回车 ('/u000D') /d 数字 等价于[0-9] /D 非数字 等价于[^0-9] /s 空白 ...

最新文章

  1. 皮一皮:别人家的老公...
  2. zabbix 进阶(二)
  3. win10家庭版远程桌面连接出现身份验证错误
  4. 燕赵志愿云如何认证_如何成为中国志愿服务网注册志愿者?操作秘籍!
  5. nginx php空白页 fastcgi_param
  6. 基于sklearn的LogisticRegression二分类实践
  7. 草稿 9206 1128需处理
  8. android的actionbar及菜单机制,Android ActionBar基本使用方法
  9. 洛谷P2580 于是他错误的点名开始了 题解
  10. Word插入参考文献
  11. foxmail邮件备份到服务器上,foxmail发送邮件自动保存到邮件服务器的方法
  12. 手机水星路由器服务器无响应,水星路由器无线wifi连接成功但上不了网的解决方法...
  13. Flash使用到数学、物理的公式
  14. PNAS:整合抑郁症的分子、细胞和皮层神经影像特征
  15. Ubuntu 18.04 安装 onedrive
  16. Win10怎么安装旧版组件DirectPlay?
  17. python中两个除号连用是什么意思啊_【人人都是Pythoner】——python3中“变革”了的除号...
  18. java架构百度云视频,Java系列学习进阶视频
  19. 关于MSMQ(System.Messaging.MessageQueue)安装及在.NET Framework框架下的简单应用实现,以解决大并发请求问题
  20. 4-4 美女排名 (10 分)

热门文章

  1. clousx6机器人怎么导入词库_全国二等奖,临安学子登上机器人大赛国家级舞台...
  2. 如何让word档在同一页上显示两列或更多列
  3. POI LastRowNum and PhysicalNumberOfRows
  4. jvm timezone
  5. mysql-增删改(DML)
  6. 思考题目,仔细检查,外加一个ceil函数
  7. 获取minist数据并转换成lmdb
  8. 小试牛刀JavaScript鼠标事件
  9. PHP高效的敏感词过滤方法
  10. C语言逗号运算符和逗号表达式