首页  >  编程教程  >  编程问答  >  如何寻找字符串input中是否有和模式regex匹配的子序列?

如何寻找字符串input中是否有和模式regex匹配的子序列?

Matcher对象matcher可以使用下列方法寻找字符串input中是否有和模式regex匹配的子序列,regex是创建模式对象pattern时使用的正则表达式。

1)public boolean find()

寻找input和regex匹配的下一子序列,如果成功该方法返回true,否则返回false。matcher首次调用该方法时,寻找input中第1个和regex匹配的子序列,如果find()返回true, matcher再调用find()方法时,就会从上一次匹配模式成功的子序列后开始寻找下一个匹配模式的子字符串。另外,当find方法返回true时,matcher可以调用start()方法和end方法可以得到该匹配模式子序列在input中的开始位置和结束位置。当find方法返回true时,matcher调用group()可以返回find方法本次找到的匹配模式的子字符串。

2)public boolean matches()

matcher调用该方法判断input是否完全和regex匹配。

3)public boolean lookingAt()

matcher调用该方法判断从input的开始位置是否有和regex匹配的子序列。若lookingAt()方法返回true,matcher调用start()方法和end方法可以得到lookingAt()方法找到的匹配模式的子序列在input中的开始位置和结束位置。若lookingAt()方法返回true,matcher调用group()可以返回lookingAt()方法找到的匹配模式的子序列。

4)public boolean find(int start)

matcher调用该方法判断input从参数start指定位置开始是否有和regex匹配的子序列,参数start取值0时,该方法和lookingAt()的功能相同。

5)public String replaceAll(String replacement)

matcher调用该方法可以返回一个字符串,该字符串是通过把input中与模式regex匹配的子字符串全部替换为参数replacement指定的字符串得到的,需要注意的是,input本身没有发生变化。

6)public String replaceFirst(String replacement)

matcher调用该方法可以返回一个字符串,该字符串是通过把input中第1个与模式regex匹配的子字符串替换为参数replacement指定的字符串得到的,需要注意的是,input本身没有发生变化。



本文固定URL:https://www.dotcpp.com/qa/61

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

编程杂谈
编程基础
知识答疑