编辑:任何人都可以帮助我使用正则表达式为这样的字符串?:
[Header 1], [Head,er 2], Header 3
这样我就可以把它分成几块:
[Header 1]
[Head,er 2]
Header 3
我已经达到了这个目的:
(?<=,|^).*?(?=,|$)
Run Code Online (Sandbox Code Playgroud)
哪个会给我:
[Header 1]
[Head
,er 2]
Header 3
Ala*_*ore 17
在这种情况下,分隔符(逗号)比匹配标记(或块)更容易.识别分隔符的逗号需要相对简单的预测:
,(?=[^\]]*(?:\[|$))
Run Code Online (Sandbox Code Playgroud)
每次找到逗号时,都会对三件事之一进行预测.如果您首先找到一个结束方括号,则逗号位于一对括号内,因此它不是分隔符.如果找到一个左括号或行/字符串的末尾,则它是一个分隔符.