如果我有一个字符串lifecycle:
preStop:
exec:
command:
- "sleep"
- "60"
并且我想拆分这个字符串以便得到一个数组"4[ab]"
,那么我如何在python中使用正则表达式?
我使用了以下正则表达式而没有运气:
["4", "ab"]
根据我对python语法的理解,你必须转义方括号之类的字符,因为它会将括号内的值计算为正则表达式。
还需要什么?
编辑,抱歉延迟:
这是代码,但我怀疑它有什么特别之处:
"\[\["
"\]\["
"[\[\]]"
"[\]\[]"
这将返回我正在寻找的正确输出,但不适用于
import re
re.split("[\[\]]","4[ab]")
答案 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']