java matcher group_Java正则表达式matcher.group()用法
时间: 2023-08-05 12:20:58 浏览: 46
在 Java 正则表达式中,Matcher.group() 方法用于返回与整个表达式匹配的子串。如果正则表达式中有捕获组,则可以通过指定组的编号或名称来获取匹配的子串。
下面是 Matcher.group() 方法的几种用法:
1. group():返回整个匹配的子串。
示例代码:
```
Pattern pattern = Pattern.compile("Hello (\\w+)");
Matcher matcher = pattern.matcher("Hello World");
if (matcher.find()) {
String wholeMatch = matcher.group(); // "Hello World"
}
```
2. group(int group):返回指定组匹配的子串,组编号从 1 开始。
示例代码:
```
Pattern pattern = Pattern.compile("Hello (\\w+), (\\w+)!");
Matcher matcher = pattern.matcher("Hello Alice, Bob!");
if (matcher.find()) {
String firstMatch = matcher.group(1); // "Alice"
String secondMatch = matcher.group(2); // "Bob"
}
```
3. group(String groupName):返回指定名称的组匹配的子串。
示例代码:
```
Pattern pattern = Pattern.compile("Hello (?<name1>\\w+), (?<name2>\\w+)!");
Matcher matcher = pattern.matcher("Hello Alice, Bob!");
if (matcher.find()) {
String firstMatch = matcher.group("name1"); // "Alice"
String secondMatch = matcher.group("name2"); // "Bob"
}
```
注意:如果指定的组编号或名称不存在,则会抛出 IllegalStateException 异常。