转移字符

在正则表达式中,有些字符是有特殊意义的字符。因此,如果想要匹配这些字符,那么就必须使用反斜杠进行转义。如果$代表以...结尾,如果想要匹配$,那么就必须使用\$。示例代码如下:

text = "apple price is $999"
ret = re.search("\$\d+", text)
print(ret.group())
>> $999

原生字符串

在正则表达式中,\用来做转义的。在Python中\也是用来做转义的。因此如果想要在普通的字符串中匹配出\,那么必须要给4个\。示例代码如下:

text = "apple \c"
ret = re.search("\\\\c", text)
print(ret.group())

因此,使用原生字符串就可以解决这个问题:

text = "apple \c"
ret = re.search(r"\\c", text)
print(ret.group())
最后修改:2019 年 01 月 17 日 04 : 28 PM