Python re.compile 匹配与 Windows 中完整路径中的反斜杠不匹配



我有一个窗口完整路径,我尝试使用正则表达式进行验证。据此 我必须添加"\\\\"但这不起作用.
我做错了什么?

import re
regex1 = re.compile('downloads\\test_dir\\sql\\my-ee.sql')  
s = "C:xxxxtempdownloadstest_dirsqlmy-ee.sql"  
gg = regex1.match(s)

ggNone.

所以有两件事:

  1. s的赋值应使用转义的反斜杠或原始字符串。我更喜欢后者:
s = r"C:xxxxtempdownloadstest_dirsqlmy-ee.sql" 
  1. 您应该使用search方法而不是match来满足部分匹配。

然后,您可以在正则表达式中使用\\,或者 - 正如我所喜欢的那样 - 再次使用原始字符串:

import re
regex1 = re.compile(r'downloads\test_dir\sql\my-ee.sql')  
s = r"C:xxxxtempdownloadstest_dirsqlmy-ee.sql"  
gg = regex1.search(s)
print(gg)

最新更新