我是正则表达式的新手。有人可以在正则表达式中帮助我拆分以下数据吗?我尝试使用正则表达式,\\\\,
但是它在大括号内和外部也用逗号分隔。括号内的逗号[]
应跳过。
输入
[111,212],[231,543],[231,423]
输出
[111,212]
[231,543]
[231,423]
如果您确定逗号之间没有空格,则所需的分割正则表达式为 ,(?=\[)
JavaScript中的示例:
$ node
> re = /,(?=\[)/
/,(?=\[)/
> "[111,212],[231,543],[231,423]".split(re)
[ '[111,212]', '[231,543]', '[231,423]' ]
Python中的示例:
$ python
>>> import re
>>> r = re.compile(r',(?=\[)')
>>> re.split(r, "[111,212],[231,543],[231,423]")
['[111,212]', '[231,543]', '[231,423]']
说明:,(?=\[)
表示逗号,后跟左括号。in中的表达式(?=)
是一个正向的超前行为,不会被使用。用作分隔符的唯一内容是逗号本身。但是,我们分开的唯一逗号是左括号后面的逗号。我们不会在其他逗号上分开。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句