📅  最后修改于: 2023-12-03 15:31:54.063000             🧑  作者: Mango
在Java中,java.util.regex.Matcher
类是用于匹配正则表达式的工具类。其中,usePattern(Pattern)
方法可以将指定的正则表达式编译成一个Pattern
对象,并将其应用于Matcher
对象。
public Matcher usePattern(Pattern newPattern)
该方法将指定的正则表达式编译成一个Pattern
对象,并将其应用于Matcher
对象。如果正则表达式无法被编译,则会抛出一个PatternSyntaxException
异常。
public static Pattern compile(String regex)
该方法将指定的字符串编译成一个正则表达式Pattern
对象。如果正则表达式无法被编译,则会抛出一个PatternSyntaxException
异常。
下面是一个示例代码,演示了如何使用usePattern(Pattern)
方法:
import java.util.regex.*;
public class MatcherExample {
public static void main(String[] args) {
String input = "hello world";
String regex = "\\w+";
// 编译正则表达式
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
// 输出匹配结果
while(matcher.find()) {
System.out.println(matcher.group());
}
// 将正则表达式应用于Matcher对象
regex = "\\d+";
pattern = Pattern.compile(regex);
matcher.usePattern(pattern);
// 输出匹配结果
while(matcher.find()) {
System.out.println(matcher.group());
}
}
}
首先,我们编译一个正则表达式,并将其应用于Matcher
对象,输出字符串中的所有单词。然后,我们使用usePattern(Pattern)
方法将正则表达式切换为匹配数字的表达式,并再次输出匹配结果。
运行结果如下:
hello
world
说明:
hello
和world
。