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工作。很抱歉,如果这确实是我忽略了的/业余的,谢谢。
答案 0 :(得分:1)
没关系,它只是缺少r
:
import re
str2=re.match(r"\W(.)\1\W", " ff ")
print(str2)
如果您想探索/简化/修改表达式,可以 在右上角的面板上进行了说明 regex101.com。如果您愿意, 也可以在this link中观看它的匹配方式 针对一些样本输入。