相关疑难解决方法(0)

对正则表达式中的反斜杠感到困惑

我对正则表达式中的反斜杠感到困惑.在正则表达式中,a \具有特殊含义,例如,\d表示十进制数字.如果在反斜杠前添加反斜杠,则此特殊含义会丢失.在正则表达式中,人们可以阅读:

也许最重要的元字符是反斜杠,\.与Python字符串文字一样,反斜杠后面可以跟各种字符,以指示各种特殊序列.它也用于转义所有元字符,因此您仍然可以在模式中匹配它们; 例如,如果你需要匹配一个[或者\,你可以在它们前面加一个反斜杠来删除它们的特殊含义:\[或者\\.

所以print(re.search('\d', '\d'))给出None因为\d匹配任何十进制数字,但没有\d.

我现在期望print(re.search('\\d', '\d'))匹配,\d但答案仍然是None.

print(re.search('\\\d', '\d'))给出输出<_sre.SRE_Match object; span=(0, 2), match='\\d'>.

有人有解释吗?

python regex

19
推荐指数
3
解决办法
2万
查看次数

标签 统计

python ×1

regex ×1