python re:没有这样的组

时间:2009-10-27 19:39:29

标签: python regex

我是Python的新手。我无法理解为什么这段代码不起作用:

reOptions = re.search(
    "[\s+@twitter\s+(?P<login>\w+):(?P<password>.*?)\s+]",
    document_text)
if reOptions:
    login = reOptions.group('login')
    password = reOptions.group('password')

我遇到了错误:

IndexError: no such group

使用document_text

Blah-blah
[ @twitter va1en0k:somepass ]

2 个答案:

答案 0 :(得分:4)

您需要将括号[和]转义为\[\]

\[\s+@twitter\s+(?P<login>\w+):(?P<password>.*?)\s+\]

答案 1 :(得分:3)

[]是特殊的正则表达式字符。转义它们以匹配文字[]。 请参阅Regular Expression Syntax