我正在尝试为波纹管路径构造正则表达式。您能帮我为它构造正则表达式吗?
home
答案 0 :(得分:1)
模式的问题很少,正确的用法是:
import re
pattern = r'([a-z]+(-)[a-z]+/[a-z]+/(\d{4})/(\d{2})/(\d{2})/(\d{2})/(\d{2})(-)[a-z]+(\.)[a-z]+)'
print(bool(re.match(pattern,path))) #True
您的模式'((a-z)+(-)(a-z)+/(a-z)+/(\d{4})/(\d{2})/(\d{2})/(\d{2})/(\d{2)(-)(a-z)+(.)(a-z)+)'
不起作用,因为:
\d{2)
-您应使用{
而非}
关闭)
a-z
-等效于[
]
内的任何小写字母,而不是(
)
.
-如果您要像\.
中那样表示字符.
(ASCII:46),则应使用re
,它表示不是换行符的任何字符,还请记住使用原始字符串而不是通用字符串答案 1 :(得分:0)
如果您只想了解该路径是否有效,那么只需使用:
import os
os.path.exists(path) # return true if the path exists