在Java编程中,如何重置正则表达式的模式?
以下示例演示如何使用Pattern
类Pattern.compile()
方法和Matcher
类的m.find()
方法来重置正则表达式的模式。
package com.yiibai;
import java.util.regex.Matcher; import java.util.regex.Pattern; public class SplittingString { 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
示例-2
以下是重新设置正则表达式模式的另一个示例:
package com.yiibai;
import java.util.regex.Matcher; import java.util.regex.Pattern; public class SplittingString2 { public static void main(String args[]) { Pattern p = Pattern.compile("\\d"); Matcher mat1 = p.matcher("9652018244"); while (mat1.find()) { System.out.println("\t" + mat1.group()); } mat1.reset(); System.out.println("After done resetting the Matcher, it should be like this"); while (mat1.find()) { System.out.println("\t" + 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