【发布时间】:2019-01-23 23:51:36
【问题描述】:
下面是我试图用逗号分割的字符串。
如果 () 或 {} 中存在逗号,则不应拆分该字符串。
我正在使用以下代码进行拆分:
现在只处理 (),我如何也包含 {}?
import re
s = "Water,^.*f04.*&~(.*z.,*)$,Iron Oxides (CI 77491, 77492),a{3,4}"
print re.split(r',\s*(?![^()]*\))', s)
输出应该是:
[Water,^.*f04.*&~(.*z.,*)$,Iron Oxides (CI 77491, 77492),a{3,4}]
【问题讨论】:
-
括号可以嵌套吗?如果是这样,这不是一种常规语言,所以你可能不想用正则表达式来解决它。
-
它可以是如果它看起来是一个有效的正则表达式。所以基本上如果逗号是正则表达式的一部分并且它在 () 或 {} 或 [] 内,那么那个字符串不应该被拆分
标签: python regex python-2.7 list