先阅读
https://blog.youkuaiyun.com/jinixin/article/details/56705284
后举例
转义有两种:
- 首先是正常的字符串转义,对于特殊的字符进行转义。
- 然后,对于正则表达式还要进行一次转义。
使用原生字符r 可以跳过一次转义。所以在正则表达式前可以加上’r’,这样负负得正。
import re
str = "d:\\ab\dc\\n"
print(str)
#输出:d:\ab\dc\n
# 经过字符转义('\\'-->'\'),\d不是特殊字符,没有进行转义
string = "d:\\abc\\n"
print(string)
#输出:d:\abc\n
# 经过字符转义('\\'-->'\')
tran_string1=re.match("d:\\\\abc", string).group()
print(tran_string1)
#输出:d:\abc
# 经过字符转义('\\\\'-->'\\'), 再经过正则转义('\\'-->'\'),于是匹配
tran_string2=re.match(r"d:\\abc", string).group()
print(tran_string2)
#输出d:\abc
# 使用r(原生字符)跳过字符转义-->正则转义('\\'-->'\'),于是匹配