Python re: 没有这样的组
我刚开始学习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 个回答
4
你需要对方括号 [ 和 ] 进行转义,也就是在它们前面加一个反斜杠,变成 \[
和 \]
。
\[\s+@twitter\s+(?P<login>\w+):(?P<password>.*?)\s+\]
3
在正则表达式中,[
和 ]
是特殊的字符。如果你想要匹配字面上的 [
和 ]
,需要对它们进行转义。想了解更多,可以查看正则表达式语法。