Python不一致读取正则表达式文件

时间:2018-10-08 18:48:25

标签: python regex python-2.7 csv

我有一个正读和正在编译的正则表达式文件。我遇到的问题是正则表达式有时会导致\

Z\\d*\\.file_\\.?

代替

Z\d*\.file_\.?

有时匹配,但其他不匹配。

2 个答案:

答案 0 :(得分:1)

当您使用原始字符串和双反斜杠时,很可能不匹配。

s = "ABC 23"

re.findall('\d+',s)
['23']

re.findall(r'\d+',s)

['23']

re.findall('\\d+',s)
['23']

re.findall(r'\\d+',s)     

[]

答案 1 :(得分:0)

我不知道那是不是您想要的,但您是否读过documentation of regular expression operations

它说:

  

“正则表达式使用反斜杠字符('\')表示   特殊形式或允许不使用特殊字符   调用它们的特殊含义”

还有:

  

“解决方案是将Python的原始字符串表示法用于常规   表达模式反斜杠不以任何特殊方式处理   带有'r'“

前缀的字符串文字

示例:

regex= re.compile(r'string')