我正在尝试将一系列文本与其中的背面进行匹配,就像Windows路径一样。
现在,当我在python中与regexp匹配时,它获得匹配,但是模块将所有反斜杠解释为后跟有效的转义字符(即t
)作为转义序列,这不是我想要的。
我怎么能不这样做?
由于 /米
编辑: 好吧,我错过了与包含反斜杠的文本匹配的正则表达式是(。*)。我已经尝试了原始符号(在芒果中示例),但它对我的情况没有帮助。或者我做错了。 EDIT2:错了。谢谢你们/女孩们!
答案 0 :(得分:10)
使用带有r的双反斜杠
>>> re.match(r"\\t", r"\t")
<_sre.SRE_Match object at 0xb7ce5d78>
来自python docs:
当想要匹配文字时 反斜杠,必须在中进行转义 正则表达式。用原始字符串 符号,这意味着r“\”。没有 原始字符串表示法,必须使用 “\\”,制作以下几行 代码功能相同:
>>> re.match(r"\\", r"\\")
<_sre.SRE_Match object at ...>
>>> re.match("\\\\", r"\\")
<_sre.SRE_Match object at ...>
答案 1 :(得分:0)
在定义正则表达式时始终使用r
前缀。这将告诉Python将字符串视为原始字符串,因此它不会执行任何标准处理。
regex = r'\t'