java Pattern.compile 匹配多个正则表达式 并且 使用 matcher.group取对应正则的数据
时间: 2024-03-13 18:43:57 浏览: 337
你可以使用管道符(|)将多个正则表达式组合起来,例如:`regex1|regex2|regex3`。然后使用`Pattern.compile()`方法将正则表达式编译成一个模式对象,再使用`matcher()`方法将模式对象与要匹配的字符串绑定起来,最后使用`group()`方法获取匹配到的数据。
以下是一个示例代码:
```
import java.util.regex.*;
public class RegexExample {
public static void main(String[] args) {
String input = "Hello world! My name is John. I am 30 years old.";
Pattern pattern = Pattern.compile("name is (.+?)\\..*am (\\d+) years old\\.");
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
String name = matcher.group(1);
int age = Integer.parseInt(matcher.group(2));
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
}
}
```
在上面的例子中,我们使用了一个正则表达式来匹配字符串中的姓名和年龄。正则表达式中有两个捕获组,分别用于匹配姓名和年龄。在使用`group()`方法时,传入捕获组的索引即可获取对应的数据。
阅读全文