2012-12-13 41 views
0

正则表达式我已经的Python的Windows路径

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

其归国None.What我失去了在这里吗?应该查找的字符串知道吗?

+0

如果要过滤某个模式的文件列表,请使用['glob'](http://docs.python.org/2.7/library/glob.html) –

回答

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> 
>>> 
+0

我正在获取路径中的变量路径='c:\ wng \ Qmns \ vin2_2012-12-13_RES',如何将其更改为'c:\\ wng \\ Qmns \\ vin2_2012-12-13_RES' – ftw

+1

你有一个变量的正则表达式模式?你为什么需要?试着做'pattern.replace('\\',r'\\')'。或者,如果您需要在文本中查找路径,为什么不使用'str.find'? – warvariuc

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> 
+0

我正在使用“r”,它应该使用反斜杠的关心。正确吗? – ftw

0

要检查一个字符串是否与另一字符串开始,你不需要正则表达式:

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

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

Agree.But wat我正在尝试d = re.search(r'c:\ wng \ Qmns \ vin2_2012-12-13_RES _(\ d +)',r'c:\ wng \ Qmns \ vin2_2012-12-13_RES_1。 xls'),以便提取结果后的最后一个数字 – ftw