首页  >  编程教程  >  编程问答  >  如何寻找字符串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

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