为什么第二个打印结果是None:
import re
pattern=r"(.+) \1" #notice that there is whitespace here before the backslash
match=re.match(pattern,"abc abc")
if match:
print(1) #1 was printed
match=re.match(pattern,"abc abd")
print(match) # None
另外,请给我另一个使用'\ 2'的示例。 非常感谢。
答案 0 :(得分:1)
因为在第二个示例中,您具有不同的值abc
和abd
。
根据py man,\number
匹配相同编号组的内容
https://docs.python.org/3.7/library/re.html
这意味着,它匹配组的内容,而不是组的正则表达式,因此第二部分应该相同。这是查找其他匹配项的方法。
下面是\2
的示例:
(.+) (.+) \1 \2
将匹配
hello kitty hello kitty