标签: regex
这是我的teststring:
1,费用,(1234,GTE),W2,(),$
我想要的输出是:
1 feE (1,234,gtE) w2 $
我用PHP编程而不是用.NET编程。 整个字符串要复杂得多,但这部分我无法为自己解决。
我的想法是:用逗号或值和图案来找几个值或一个元组。
(?|(([^(),]+),|((\([^()]\)+))))
但我找不到解决方案。 有人可以帮帮我吗?
答案 0 :(得分:0)
令我不安的是第5场比赛,是空的,而第3场则是括号。
无论如何,根据你的例子,使用以下内容应该没问题:
(?=\()(?:\([^)]+\)|)|[^,()]+ ^ Here, as alternative is nothing, empty pair of parenthesis retrieves an empty match
请参阅demo。
考虑到所需的真实匹配(即括号即使在空时也应该匹配),您可以修改如下:
(?:\([^)]*\))|[^,()]+
已删除Lookahead以跳过识别前导括号,直接匹配它。还删除了之间的空转比赛,因为它不再需要了。
更新了demo。