python - 正则表达式 - 仅当字母后跟逗号 + 逗号 + 忽略括号中的逗号时才拆分
问题描述
我试图找出一种基于正则表达式中的逗号拆分值的方法,但问题是我想忽略括号内的逗号 ()
例子 :
'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(])
- 保证前面是一个字母或左括号
推荐阅读
- verilog - 使用Verilog实现光控
- reactjs - Styled-Components 条件传递道具
- c# - 如何将接收到的十六进制字节解析为可读字符串
- amazon-web-services - 我可以在开始训练作业之前检查 GPU 的可用性吗?
- single-sign-on - 使用 JHipster UAA 的 SSO(单点登录)
- ckeditor - ckeditor 3.6 - 超链接功能问题
- php - Show certain countries on WooCommerce checkout for particular products in cart
- flutter - 我无法根据越南的经纬度颤振地理定位器获取邮政编码
- optimization - 具有非凸约束的复值最小二乘优化
- json - 使用 jq 在 bash 中构建 json