Java 正则表达式分组提取:示例及代码
在 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
原文地址: https://www.cveoy.top/t/topic/g0uv 著作权归作者所有。请勿转载和采集!