用于Windows路径的Python正则表达式

时间:2012-12-13 06:45:36

标签: python regex

我有

d = re.search(r'c:\wng\Qmns\vin2_2012-12-13_RES',r'c:\wng\Qmns\vin2_2012-12-13_RES_1.xls').

它返回None。我在这里错过了什么?它应该找到字符串知道吗?

3 个答案:

答案 0 :(得分:0)

你需要在比赛方面进行双重逃脱,但不能在目标上进行双重逃脱:

>>> re.search(r'c:\\wng\\Qmns\\vin2_2012-12-13_RES',r'c:\wng\Qmns\vin2_2012-12-13_RES_1.xls')
<_sre.SRE_Match object at 0x105ba34a8>

答案 1 :(得分:0)

Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> re.search(r'c:\wng\Qmns\vin2_2012-12-13_RES',r'c:\wng\Qmns\vin2_2012-12-13_RES_1.xls')
>>> re.search(r'c:\\wng\\Qmns\\vin2_2012-12-13_RES',r'c:\wng\Qmns\vin2_2012-12-13_RES_1.xls')
<_sre.SRE_Match object at 0x7f9c2000bb90>
>>> 

答案 2 :(得分:0)

要检查字符串是否以另一个字符串开头,您不需要regexp:

path = r'c:\wng\Qmns\vin2_2012-12-13_RES_1.xls'

if path.startswith(r'c:\wng\Qmns\vin2_2012-12-13_RES'):
    ...