Java 正则表达式中的 Matcher 重置
Matcher 可使用 java.util.regex.Matcher.reset() 方法进行重置。此方法返回重置后的 Matcher。
以下程序展示了 Java 正则表达式中的方法 Matcher.reset()
示例
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MainClass {
public static void main(String args[]) {
Pattern p = Pattern.compile("(a*b)");
Matcher m = p.matcher("caaabcccab");
System.out.println("The input string is: caaabcccab");
System.out.println("The Regex is: (a*b)");
System.out.println();
while (m.find()) {
System.out.println(m.group());
}
m.reset();
System.out.println("
The Matcher is reset");
while (m.find()) {
System.out.println(m.group());
}
}
}输出
The input string is: caaabcccab The Regex is: (a*b) aaab ab The Matcher is reset aaab ab
现在让我们来了解一下上面的程序。
在字符串序列 "caaabcccab" 中搜索子序列“(a*b)”。然后使用 find() 方法查找子序列是否在输入序列中,并打印所需结果。使用 Matcher.reset() 方法重置 Matcher。然后再次使用 find() 方法,并打印所需结果。
演示此操作的代码片段如下
Pattern p = Pattern.compile("(a*b)");
Matcher m = p.matcher("caaabcccab");
System.out.println("The input string is: caaabcccab");
System.out.println("The Regex is: (a*b)");
System.out.println();
while (m.find()) {
System.out.println(m.group());
}
m.reset();
System.out.println("
The Matcher is reset");
while (m.find()) {
System.out.println(m.group());
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP