java.util.regex.Matcher.usePattern(Pattern newPattern)方法更改此Matcher用于查找匹配项的模式。
public Matcher usePattern(Pattern newPattern)
newPattern - 此匹配器使用的新模式。
这个匹配器。
IllegalArgumentException - 如果newPattern为null。
下面的示例显示java.util.regex.Matcher.usePattern(Pattern newPattern)方法的用法。
package com.learnfk; import java.util.regex.Matcher; import java.util.regex.Pattern; public class MatcherDemo { private static String REGEX = "(a*b)(foo)"; private static String INPUT = "aabfooaabfooabfoob"; public static void main(String[] args) { //创建一个模式 Pattern pattern = Pattern.compile(REGEX); //获取匹配器对象 Matcher matcher = pattern.matcher(INPUT); while(matcher.find()) { //打印给定组捕获的子序列的开始索引。 System.out.println("Second Capturing Group, (foo) Match String start(): "+matcher.start(1)); } matcher.reset(); matcher.usePattern(Pattern.compile("(a*b)(foob)")); while(matcher.find()) { //打印给定组捕获的子序列的开始索引。 System.out.println("Second Capturing Group, (fooab) Match String start(): "+matcher.start(1)); } } }
让无涯教程编译并运行以上程序,这将产生以下输出-
Second Capturing Group, (foo) Match String start(): 0 Second Capturing Group, (foo) Match String start(): 6 Second Capturing Group, (foo) Match String start(): 12 Second Capturing Group, (fooab) Match String start(): 12
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)