在 Java 中,可以使用 Pattern 类的 matcher 方法来创建一个匹配器对象,然后使用 group 方法来获取分组的内容。

下面是一个示例代码,将正则表达式转换为分组正则表达式:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    public static void main(String[] args) {
        String regex = "(\d+)-(\d+)";
        String groupRegex = convertToGroupRegex(regex);
        
        String input = "123-456";
        Pattern pattern = Pattern.compile(groupRegex);
        Matcher matcher = pattern.matcher(input);
        
        if (matcher.matches()) {
            String group1 = matcher.group(1);
            String group2 = matcher.group(2);
            
            System.out.println("Group 1: " + group1);
            System.out.println("Group 2: " + group2);
        }
    }
    
    private static String convertToGroupRegex(String regex) {
        // 将正则表达式中的括号添加分组
        String groupRegex = regex.replaceAll("\\(", "(?:");
        return groupRegex;
    }
}

在上面的示例中,我们首先定义了一个正则表达式 (\d+)-(\d+),其中 \d+ 表示一个或多个数字, - 表示一个减号。然后我们将这个正则表达式转换为分组正则表达式 (\d+)-(\d+),其中 (\d+) 表示一个分组, (\d+)-(\d+) 表示两个分组。然后我们使用这个分组正则表达式来匹配输入字符串 123-456,并使用 group 方法来获取分组的内容。

输出结果为:

Group 1: 123
Group 2: 456
Java 正则表达式分组提取:示例及代码

原文地址: https://www.cveoy.top/t/topic/g0uv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录