[英]regex - split only if a letter followed by comma + comma + ignore comma in bracket
我试图找出一种基于正则表达式中的逗号分割值的方法,但问题是我想忽略括号内的逗号 ()
例子 :
'hist1234,geog293,lap_933,(a-20,110,60),(z-8,9,10),POLY5,9,3,8,ro water'
预期输出:
['hist1234', 'geog293', 'lap_933', '(a-20,110,60)', '(z-8,9,10)', 'POLY5,9,3,8', 'ro water']
我试过: ,\\s*(?![^()]*)) 作为逗号并忽略括号中的逗号,但我不确定是否忽略它是一个数字后跟一个逗号
由于您保证“括号内没有括号”,因此这将起作用:
正则表达式
,(?![^()]+\))(?=[a-zA-Z(])
代替
,
^ 逗号 + 空格
如果拆分,则只需忽略replace 。
https://regex101.com/r/Mk8mAI/1
,
- 捕获一个逗号(?![^()]+\\))
- 保证在我前面不是内容后跟右括号(?=[a-zA-Z(])
- 保证我前面是一个字母或左括号
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.