Python 正则表达式以匹配Windows和Unix上任意长度的任何文件夹路径

Python 正则表达式以匹配Windows和Unix上任意长度的任何文件夹路径,python,regex,directory,path,Python,Regex,Directory,Path,是否可以在Windows和Unix上生成与任意长度的文件夹路径匹配的正则表达式? 例如,regex应该匹配:C:Users/Hp工作站,以及:C:Users/User1/Downloads和C:Users/Desktop/Python/Python-2.7.7-docs,甚至更长的路径。。。 这只是一个例子。我指的是某种通用正则表达式,可以完全匹配任何路径(任何分区、任何文件夹、任何子文件夹…) 我想用Python来做。 提前谢谢 答案之一: 这是我想到的可能解决方案之一,适用于大多数编程语言中

是否可以在Windows和Unix上生成与任意长度的文件夹路径匹配的正则表达式? 例如,regex应该匹配:
C:Users/Hp工作站
,以及:
C:Users/User1/Downloads
C:Users/Desktop/Python/Python-2.7.7-docs
,甚至更长的路径。。。 这只是一个例子。我指的是某种通用正则表达式,可以完全匹配任何路径(任何分区、任何文件夹、任何子文件夹…) 我想用Python来做。 提前谢谢

答案之一: 这是我想到的可能解决方案之一,适用于大多数编程语言中的绝大多数不同路径

^([a-zA-Z]?\:?[^\/\\:*?"<>|]*|[\/\\]{1,2}[^\/\\:*?"<>|]+[\/\\][^\/\\:*?"<>|]+)([\/\\][^\/\\:*?"<>|]+)+
^([a-zA-Z]?\:?[^\/\\:*?“\/\]*[\/\\]{1,2}[^\/\:*?“\/\]+[^\/\:*?“\/\]+)([\/\][^\/\:*?“\]+)([\/\][^\/\:*?“\]+)+

您可以试试这个,它匹配本地路径和网络路径

^(C:[\S\S]+\\[\S\S]+)
^(C:.*.\124;\.*)

范例

a = 'C:Users/Hp Workstation'
b = 'C:Users/User1/Downloads'
c = 'Users/Desktop/Python/python-2.7.7-docs'
d = '\\lol.com\Dfsdd\Dfsrerere\ytererwe\9jungnjfl\Projects'
e = 'lol.com\Dfsdd\Dfsrerere\ytererwe\9jungnjfl\Projects'
lis=[a,b,c,d,e]
for item in lis:
    print(re.findall(r'^(C:[\S\s]+|\\[\S\s]+)', item ))
输出

['C:Users/Hp Workstation']
['C:Users/User1/Downloads']
[]
['\\lol.com\\Dfsdd\\Dfsrerere\\ytererwe\\9jungnjfl\\Projects']
[]

这是可行的,但是如果您正在寻找、查找和存储文件路径,那么可能有更好的方法。非常感谢您的回答和努力!但我指的是某种通用正则表达式,可以完全匹配任何路径(任何分区、任何文件夹、任何子文件夹…)。这只是一个例子,很有效!也许不是所有的情况下,但它肯定是一个良好的基础,进一步升级!对于不同的分区,您应该使用:
^([A-Z]:[\S\S]+\[\S\S]+)
。非常感谢您的回答和努力!