正则表达式从字面上解释\ t为\ t而非tab

时间:2009-08-27 10:25:09

标签: python regex

我正在尝试将一系列文本与其中的背面进行匹配,就像Windows路径一样。

现在,当我在python中与regexp匹配时,它获得匹配,但是模块将所有反斜杠解释为后跟有效的转义字符(即t)作为转义序列,这不是我想要的。

我怎么能不这样做?

由于 /米

编辑: 好吧,我错过了与包含反斜杠的文本匹配的正则表达式是(。*)。我已经尝试了原始符号(在芒果中示例),但它对我的情况没有帮助。或者我做错了。 EDIT2:错了。谢谢你们/女孩们!

2 个答案:

答案 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'