如何在 Java 中重置正则表达式的模式
问题描述
如何重置正则表达式的模式?
解决方案
以下示例演示如何使用 Pattern 类的 Pattern.compile() 和 Matcher 类的 m.find() 方法重置正则表达式的模式。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Resetting {
public static void main(String[] args) throws Exception {
Matcher m = Pattern.compile("[frb][aiu][gx]").matcher("fix the rug with bags");
while (m.find())System.out.println(m.group());
m.reset("fix the rig with rags");
while (m.find())System.out.println(m.group());
}
}
结果
上述代码示例将产生以下结果。
fix rug bag fix rig rag
以下是另一个重置正则表达式模式的示例
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Matc {
public static void main(String args[]) {
Pattern p = Pattern.compile("\d");
Matcher mat1 = p.matcher("9652018244");
while (mat1.find()) {
System.out.println(" " + mat1.group());
}
mat1.reset();
System.out.println("After done resetting the Matcher, it should be like this");
while (mat1.find()) {
System.out.println(" " + mat1.group());
}
}
}
结果
上述代码示例将产生以下结果。
9 6 5 2 0 1 8 2 4 4 After done resetting the Matcher, it should be like this 9 6 5 2 0 1 8 2 4 4
java_regular_exp.html

