如何构造正则表达式以检查有效路径?

时间:2019-03-16 13:28:24

标签: python regex

我正在尝试为波纹管路径构造正则表达式。您能帮我为它构造正则表达式吗?

home

2 个答案:

答案 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