Java 正则中括号用途
时间: 2024-02-23 18:54:17 浏览: 70
Java正则表达式中的括号有多种用途,主要包括分组和捕获。
1. 分组:括号可以将正则表达式的一部分内容分组,以便对其进行重复、限定或应用其他操作。例如,可以使用括号将多个字符组合成一个子表达式,并对该子表达式应用限定符,如*、+或?。示例:
```java
String regex = "(ab)+";
String input = "ababab";
boolean matches = input.matches(regex); // true
```
在上面的示例中,括号将"ab"组合成一个子表达式,并使用"+"限定符表示该子表达式可以重复一次或多次。
2. 捕获:括号还可以用于捕获匹配的内容,以便后续可以通过特殊的编号或名称引用它们。捕获的内容可以在匹配后进行进一步处理或替换。示例:
```java
String regex = "(\\d{3})-(\\d{4})";
String input = "123-4567";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
String areaCode = matcher.group(1); // 捕获第一个括号中的内容,即"123"
String phoneNumber = matcher.group(2); // 捕获第二个括号中的内容,即"4567"
System.out.println("Area code: " + areaCode); // 输出:Area code: 123
System.out.println("Phone number: " + phoneNumber); // 输出:Phone number: 4567
}
```
在上面的示例中,括号将区号和电话号码分别捕获到了两个组中,并通过`group()`方法获取捕获的内容。
阅读全文