Java 带有数字和数字组的复杂正则表达式
我有这样的字符串作为输入:Java 带有数字和数字组的复杂正则表达式,java,regex,regex-lookarounds,Java,Regex,Regex Lookarounds,我有这样的字符串作为输入: (1,3,4,(3,4,21),55,69,12,(3,8),9) 我想要这个输出,作为数组或字符串列表 1 - 3 - 4 - (3,4,21) - 55 - 69 - 12 - (3,8) - 9 有人能帮忙吗?我试过几次regex,但运气不好 编辑:请注意,输出中的“-”表示同一数组或列表的不同元素,而不是指定的字符 示例:数组[0]=“1”;数组[1]=“3”;数组[3]=“(3,4,21)” 您可以尝试此正则表达式: ,(?!(?:(?:[^\(\)]*
(1,3,4,(3,4,21),55,69,12,(3,8),9)
我想要这个输出,作为数组或字符串列表
1 - 3 - 4 - (3,4,21) - 55 - 69 - 12 - (3,8) - 9
有人能帮忙吗?我试过几次regex,但运气不好
编辑:请注意,输出中的“-”表示同一数组或列表的不同元素,而不是指定的字符
示例:数组[0]=“1”;数组[1]=“3”;数组[3]=“(3,4,21)” 您可以尝试此正则表达式:
,(?!(?:(?:[^\(\)]*[\(\)]){2})*[^\(\)]*$)
这将匹配所有应替换为-
或者您也可以按上述正则表达式进行拆分
说明:
逻辑是找到一个逗号,后面不跟偶数个括号(和)
示例源():
您可以尝试以下正则表达式:
,(?!(?:(?:[^\(\)]*[\(\)]){2})*[^\(\)]*$)
这将匹配所有应替换为-
或者您也可以按上述正则表达式进行拆分
说明:
逻辑是找到一个逗号,后面不跟偶数个括号(和)
示例源():
我建议不要使用正则表达式。是的…写一个解析器。输出中应该有“-”和69之间的空格吗?刚刚编辑了我的问题,谢谢Pzremyslaw Moskal。我建议不要使用正则表达式。是的…写一个解析器。输出中应该有“-”和69之间的空格吗?刚刚编辑了我的问题,谢谢Pzremyslaw Moskal
[1, 3, 4, (3,4,21), 55, 69, 12, (3,8), 9]