gpt4 book ai didi

java - 正则表达式捕获可能存在或可能不存在的一组组

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:21:46 25 4
gpt4 key购买 nike

我在使用正则表达式分组时遇到了一些问题。可以说我有以下字符串:

"Test, some information, more stuff (addtional information)"

我想将其分成 4 组,如下所示:

group1: Test
group2: some information
group3: more stuff
group4: additional information

但是第 2 组可能存在也可能不存在,并且与第 4 组相同。

example:
"Test, more stuff" (group 2 and 4 don't exist)
"Test, some informattion, more stuff" (group 4 don't exist)
"test, more stuff (additional information)" (group 2 dont exist)

我已经开始了:

(.*?),(.*?),(.*?)\\((.*?)\\)

我该如何从这里开始?

最佳答案

我建议你使用string.split

String s = "Test, some information, more stuff (addtional information)";
String parts[] = s.split(",\\s+|\\s*[()]");
System.out.println(Arrays.toString(parts));

输出:

[Test, some information, more stuff, addtional information]

\s+ 匹配一个或多个空格。

您可以根据我们的模组建议的 "\\s*[,()]\\s*" 正则表达式拆分您的输入。

将 2 和 4 组设为可选。

"^(.*?)(?:,(.*?))?,([^()\\n]*)(?: \\((.*?)\\))?$"

DEMO

关于java - 正则表达式捕获可能存在或可能不存在的一组组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28165213/

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