Skip to main content
 首页 » 编程设计

python之如何在 python 中执行条件拆分

2025年05月04日25虾米姐

当逗号没有被 () 包围时,我想用逗号分割字符串。

str = r"a,b,c,test(1,2,3),g,h,test(2,4,6)" 

期望的 split

split = ['a','b','c','test(1,2,3)','g','h','test(2,4,6)'] 

我如何使用正则表达式 python

到目前为止我的努力,

splits = [m.start() for m in re.finditer(',', string_i)] 
 
paranths = {10: 16, 26: 32} #using function 
 
lst = [] 
 
first = 1 
for l in splits: 
    print l 
    for m in paranths: 
        if (l < m and l < paranths[m]): 
            #print m,':',l,':',paranths[m] 
            lst.append(string_i[first:l]) 
            first = l+1 
            break 
            break 

请您参考如下方法:

如上所述,您可以使用负向后视模式匹配。

import re 
 
my_str = r"a,b,c,test(1,2,3),g,h,test(2,4,6)" 
 
print(re.split('(?<!\(.),(?!.\))', my_str))