gpt4 book ai didi

python - 具有两个正则表达式参数的 fnmatch 函数

转载 作者:行者123 更新时间:2023-12-01 04:38:48 24 4
gpt4 key购买 nike

我们可以将 fnmatch 与两个正则表达式一起使用吗?

例如,如果我使用fnmatch("file*", "*", 0),在这种情况下它会匹配吗?

最佳答案

For example, if I use fnmatch("file*", "*", 0), will it match in this case?

是的,当然会,一旦你删除多余的第三个参数:

>>> from fnmatch import fnmatch
>>> fnmatch("file*", "*")
True

但是,它匹配,因为它将两个参数都解释为正则表达式;它之所以匹配,是因为模式 "*" 将匹配 filename任何输入,包括 "file*"。您可以在 the source code 中看到这一点:

return re_pat.match(name) is not None

name(即filenamefnmatch的第一个参数)没有被用作正则表达式,它只是一个字符串被传递给re.match

您还可以从代码中看到,第二个参数 pattern 已被翻译,而不是直接用作正则表达式,如“Unix shell 样式通配符” 语法不是正则表达式。我建议您阅读the documentation .

Can we use fnmatch with two regular expressions?

不,我们不能。

关于python - 具有两个正则表达式参数的 fnmatch 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31204723/

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