Python用正则表达式拆分括号

时间:2017-11-15 23:46:54

标签: python regex

如果我有一个字符串lifecycle: preStop: exec: command: - "sleep" - "60" 并且我想拆分这个字符串以便得到一个数组"4[ab]",那么我如何在python中使用正则表达式?

我使用了以下正则表达式而没有运气:

["4", "ab"]

根据我对python语法的理解,你必须转义方括号之类的字符,因为它会将括号内的值计算为正则表达式。

还需要什么?

编辑,抱歉延迟:

这是代码,但我怀疑它有什么特别之处:

"\[\["
"\]\["
"[\[\]]"
"[\]\[]"

这将返回我正在寻找的正确输出,但不适用于

import re
re.split("[\[\]]","4[ab]")

2 个答案:

答案 0 :(得分:0)

In [16]: import re                                                                                  

In [17]: a = "4[ab]"                                                                                

In [18]: re.findall("(\d)\[(\w+)]", a)[0]                                                           
Out[18]: ('4', 'ab')

您可以参考the documentation读取:

  

要匹配集合中的文字']',请在其前面加上反斜杠,或   将其置于集合的开头

答案 1 :(得分:0)

这为您提供了以下列表:

import re
m = "4[ab]"
n = re.findall('(\w+)\[', m)
n.extend(re.findall('(\w+)\]', m))
print(n)

结果:

['4','ab']