捕获组与python正则表达式没有捕获

时间:2016-09-05 19:35:56

标签: python

我试图通过这个例子了解捕获组:

sentence = "the quick brown fox jumps over the lazy dog"

re.search(r'\S+\s+\S+',sentence)

<_sre.SRE_Match object; span=(0, 9), match='the quick'>

我可以看到这个匹配如下:

re.search(r'\S+\s+\S+',sentence).group()

'the quick'

我想为“快速”字词添加一个匹配组。所以我试试这个:

re.search(r'\S+\s+\(S+)',sentence)

哪个出错:

error: unbalanced parenthesis at position 10

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

看起来像是一个错字,但我仍然会提供解释。

转义左括号,使其与文字(匹配,这使得表达式末尾的右括号没有开头部分,替换:

\S+\s+\(S+)

使用:

\S+\s+(\S+)