gpt4 book ai didi

python - 如何编写正则表达式以匹配多个文件路径

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:31 26 4
gpt4 key购买 nike

我想匹配位于多个目录中的文件:

文件路径可以在本地 - C:/users/path/image.png 或在系统上 -//home/user/web/image.png

对于第一种情况,我有正则表达式 -

[c|C]:[^.]+[.][A-Za-z]{3}

如何使用一个正则表达式来匹配这两种情况?

最佳答案

你想从比赛中得到什么并不清楚 - 也许你只想要完整的字符串?

((?:(?:[cC]:)|//home)[^\.]+\.[A-Za-z]{3})

一个点 (.) 将匹配(接近)所有内容。如果您想与字符串 . 进行比较和对比,您应该使用 \. 将其转义。

测试运行:

>>> print re.match("((?:(?:[cC]:)|//home)[^\.]+\.[A-Za-z]{3})", "//home/user/web/image.png").groups()
('//home/user/web/image.png',)

>>> print re.match("((?:(?:[cC]:)|//home)[^\.]+\.[A-Za-z]{3})", "C:/users/path/image.png").groups()
('C:/users/path/image.png',)

还有一个用于通常的 Windows 路径语法:

>>> print re.match("((?:(?:[cC]:)|//home)[^\.]+\.[A-Za-z]{3})", "C:\users\path\image.png").groups()
('C:\\users\\path\\image.png',)

如果需要支持 .jpeg,将扩展名的最大允许出现次数从 {3} 增加到 {3,4}.

关于python - 如何编写正则表达式以匹配多个文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20387009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com