如何在 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