java group
时间: 2023-12-07 08:37:37 浏览: 147
JAVA小组管理系统
Java中的group是正则表达式中的一个概念,表示匹配到的子串。在Matcher类中,group有多个重载方法,可以根据组号或组名获取匹配到的子串,也可以获取子串在原字符串中的起始和结束位置。具体方法如下:
- int groupCount():返回匹配到的组数,不包括group(0)。
- String group(int group):返回指定组号的匹配子串。
- int start(int group):返回指定组号匹配子串在原字符串中的起始位置。
- int end(int group):返回指定组号匹配子串在原字符串中的结束位置。
- String group(String name):返回指定组名的匹配子串。
- int start(String name):返回指定组名匹配子串在原字符串中的起始位置。
- int end(String name):返回指定组名匹配子串在原字符串中的结束位置。
例如,对于字符串"John writes Java code",使用正则表达式"(\w+) writes (\w+) code"进行匹配,可以得到两个组,分别是"John"和"Java"。代码如下:
```java
String str = "John writes Java code";
Pattern pattern = Pattern.compile("(\\w+) writes (\\w+) code");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
System.out.println("found group: group(0) is '" + matcher.group(0) + "'");
System.out.println("found group: group(1) is '" + matcher.group(1) + "', group(2) is '" + matcher.group(2) + "'");
System.out.println("groupCount is ->" + matcher.groupCount());
System.out.println("start(1) is ->" + matcher.start(1) + ", end(1) is ->" + matcher.end(1));
System.out.println("start(2) is ->" + matcher.start(2) + ", end(2) is ->" + matcher.end(2));
}
```
输出结果为:
```
found group: group(0) is 'John writes Java code'
found group: group(1) is 'John', group(2) is 'Java'
groupCount is ->2
start(1) is ->0, end(1) is ->4
start(2) is ->12, end(2) is ->16
```
阅读全文