在http://regexstorm.net/tester我使用以下模式:
(?:(?!\(|\)|\,).)*(?:(?:(?'open'\()(?:(?!\(|\)).)*)+((?'content-open'\))(?:(?!\(|\)|\,).)*)+)*(?(open)(?!))
以及以下值:
(asi(de, fghdfh(fghjgh))),(dfgsdg)
rtyerty,
dhggjkmf,
bnmvbm,
cvbngfh,
iopuip
对我来说,其他所有比赛都是空的。如果您将第一个切换*到 a ,它可以正常工作+,但我需要它是 a *,因为在平衡组之前不必有任何字符。我知道我可以忽略空匹配,但这对我来说有点烦人,我想知道我的模式是否有问题?
是否有一个匹配的特定角色或锚我可以放入一个[^...]组中使用而不是初始.?