我有一个窗口完整路径,我尝试使用正则表达式进行验证。据此 我必须添加"\\\\"
但这不起作用.
我做错了什么?
import re
regex1 = re.compile('downloads\\test_dir\\sql\\my-ee.sql')
s = "C:xxxxtempdownloadstest_dirsqlmy-ee.sql"
gg = regex1.match(s)
gg
是None
.
所以有两件事:
s
的赋值应使用转义的反斜杠或原始字符串。我更喜欢后者:
s = r"C:xxxxtempdownloadstest_dirsqlmy-ee.sql"
- 您应该使用
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)