在Java中,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,用于匹配、查找和替换符合某种模式的字符串。它基于字符序列来描述一种规则,这种规则可以应用于字符串的搜索、替换等操作。
捕获组(Capturing Group)是正则表达式中一种重要的概念,它允许将一个或多个字符组合成一个单独的单元,并作为一个整体进行处理。捕获组是通过将字符放在一对括号()中来创建的。
在Java中,每个捕获组都有一个唯一的编号,从左到右依次编号,从1开始。同时,整个正则表达式也被视为一个特殊的捕获组,编号为0。
下面是一个使用捕获组的Java代码示例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexCapturingGroupExample {
public static void main(String[] args) {
// 要匹配的字符串
String text = "The price is $123.45";
// 正则表达式,其中包含两个捕获组:(\d+) 和 (\.\d+)
String regex = "The price is $(\\d+)(\\.\\d+)?";
// 编译正则表达式
Pattern pattern = Pattern.compile(regex);
// 创建Matcher对象
Matcher matcher = pattern.matcher(text);