学习正则表达式反向引用,我不知道发生了什么

时间:2019-08-15 04:43:42

标签: python regex regex-group

str2=re.match("\W(.)\1\W", " f\x01 ")
print(str2)

OUPUT: <re.Match object; span=(0, 4), match=' f\x01 '>

当我将输入字符串中的'x'更改为'y'或其他任何字母,并为str2=re.match("\W(.)\1\W", " f\y01 ")返回NONE时,此方法无效

str2=re.match("\W(.)\1\W", " ff ")
print(str2)

OUTPUT: None

因此,由于在这些代码段之间唯一改变的是输入要与RE比较的字符串。据我了解,RE的意思是: [^ a-zA-Z0-9_] +任何字符+ [^ a-zA-Z0-9_],所以我不明白为什么这些模式都不能与RE匹配。

如果正在某种程度上影响我,我正在Jupyter Notebook工作。很抱歉,如果这确实是我忽略了的/业余的,谢谢。

1 个答案:

答案 0 :(得分:1)

没关系,它只是缺少r

import re

str2=re.match(r"\W(.)\1\W", " ff ")
print(str2)

  

如果您想探索/简化/修改表达式,可以   在右上角的面板上进行了说明   regex101.com。如果您愿意,   也可以在this link中观看它的匹配方式   针对一些样本输入。