如何在 glob() 模式中编写“或”?

问题描述 投票:0回答:3

glob.glob()
不使用正则表达式。它使用 Unix 路径扩展规则。我如何在 glob 中模拟这个正则表达式:

".*.jpg|.*.png"
python glob
3个回答
14
投票

好吧,有了

glob
,你应该这样做:

lst = glob.glob('*.jpg') + glob.glob('*.png')

8
投票

@U12-Forward 是正确的,没有确切的解决方案,但根据您的用例,您可能可以使用

[...]
通配符来解决它。对于
.png
.jpg
的示例,您可以使用以下内容:

.*.[jp]*

它将匹配任何以 j 或 p 开头的扩展名

如果您有其他以 j 或 p 开头的扩展名,您可以更具体:

.*.[jp][pn]g

0
投票

这也有效,而且在我看来这是最简单的:

*.{png,jpg}

© www.soinside.com 2019 - 2024. All rights reserved.