当我使用以下脚本时,没有问题:
import re
pattern = r"(.+) \1"
match = re.match(pattern, "word word")
if match:
print ("Match 1")
但当我将模式更改为r"(。+)\ 2"它上升了一个错误。请准确解释这种模式的含义。
import re
pattern = r"(.+) \2"
match = re.match(pattern, "egg egg egg")
if match:
print ("Match 1")
答案 0 :(得分:1)
\1
相当于re.search(...).group(1)
,这是正则表达式中第一个括号分隔的表达式。由于2nd group
中没有regex
,这就是为什么它无效。
如果您添加第二组,那么它将起作用
import re
pattern = r"(.+)() \2"
match = re.match(pattern, "egg egg egg")
if match:
print ("Match 1")
Match 1