python在矩阵表达式中不使用逗号拆分字符串
我想拆分一个由逗号分隔的字符串,而不是在矩阵表达式中。 例如: 输入:python在矩阵表达式中不使用逗号拆分字符串,python,regex,string,Python,Regex,String,我想拆分一个由逗号分隔的字符串,而不是在矩阵表达式中。 例如: 输入: value = 'MA[1,2],MA[1,3],der(x),x,y' 预期产出: ['MA[1,2]','MA[1,3]','der(x)','x','y'] 我尝试使用value.split(','),但它在[]内部拆分,我尝试使用一些正则表达式捕获[]内部使用此正则表达式提取的文本 import re re.split(r'\[(.*?)\]', value) 我不擅长正则表达式,任何建议都会有帮助您可以使用负
value = 'MA[1,2],MA[1,3],der(x),x,y'
预期产出:
['MA[1,2]','MA[1,3]','der(x)','x','y']
我尝试使用value.split(',')
,但它在[]
内部拆分,我尝试使用一些正则表达式捕获[]
内部使用此正则表达式提取的文本
import re
re.split(r'\[(.*?)\]', value)
我不擅长正则表达式,任何建议都会有帮助您可以使用负回溯
>>> import re
>>> value1 = 'MA[1,2],MA[1,3],der(x),x,y'
>>> value2 = 'M[a,b],x1,M[1,2],der(x),y1,y2,der(a,b)'
>>> pat = re.compile(r'(?<![[()][\d\w]),')
>>> pat.split(value1)
['MA[1,2]', 'MA[1,3]', 'der(x)', 'x', 'y']
>>> pat.split(value2)
['M[a,b]', 'x1', 'M[1,2]', 'der(x)', 'y1', 'y2', 'der(a,b)']
>>重新导入
>>>值1='MA[1,2],MA[1,3],der(x),x,y'
>>>值2='M[a,b],x1,M[1,2],der(x),y1,y2,der(a,b)'
>>>pat=重新编译(r'(?)
我已经更新了我的尝试,我不擅长正则表达式,没有正则表达式我们还能用其他方法吗完美答案,谢谢