gpt4 book ai didi

java - 在 Java 中使用模式匹配

转载 作者:行者123 更新时间:2023-11-29 05:33:55 25 4
gpt4 key购买 nike

我有一些具有模式的字符串

word(word-number, word-number)

我想使用正则表达式来提取 3 个单词和 2 个数字。

我正在用这个

    String pattern = "(.+?) (\\() (.+?)(-) (\\d+?) (,) (.+?) (-) (\\d+?) (\\))";
String a = string.replaceAll(pattern, "$1");
String b = string.replaceAll(pattern, "$3");
String c = string.replaceAll(pattern, "$5");
String d = string.replaceAll(pattern, "$7");
String e = string.replaceAll(pattern, "$9");

但无济于事,我们将不胜感激。

最佳答案

匹配 word(word-number, word-number) 的模式很简单

String regex = "(\\D+)\\((\\D+)-(\\d+), (\\D+)-(\\d+)\\)";

您正在使用多余的空间并在您的空间中捕获组。

现在,要提取每个单独的捕获组,请使用 Pattern API。

Matcher m = Pattern.compile(regex).matcher(string);
m.matches();
String a = m.group(1), b = m.group(2), c = m.group(3), d = m.group(4), e = m.group(5);

关于java - 在 Java 中使用模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20167127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com