怎么样:
import re
s = "alpha.Customer[cus_Y4o9qMEZAugtnW] ..."
m = re.search(r"\[([A-Za-z0-9_]+)\]", s)
print m.group(1)
对我来说,这打印:
cus_Y4o9qMEZAugtnW
请注意,调用会re.search(...)
找到与正则表达式的第一个匹配项,因此[card]
除非您再次重复搜索,否则它将不会找到。
这里的正则表达式是python原始字符串文字,基本上意味着反斜杠不会被视为特殊字符,而是会原样传递给re.search()
方法。正则表达式的部分包括:
正如DK所指出的,正则表达式可以简化为:
m = re.search(r"\[(\w+)\]", s)
由于\w
表示特殊的顺序,与[a-zA-Z0-9_]
取决于re.LOCALE
和re.UNICODE
设置的含义相同。