繁体   English   中英

正则表达式 - 仅当一个字母后跟逗号 + 逗号 + 忽略括号中的逗号时才拆分

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM