Python中简单的字符串与通配符比较

9rbhqvlz  于 2023-02-18  发布在  Python
关注(0)|答案(1)|浏览(121)

我一直在寻找一段时间,但未能找到一个简单的解决方案,像这样的问题:

pattern = '20*_*_*'
compare('2023_01_01', pattern)
>>> True

compare('1999_01_01', pattern)
>>> False

我知道如何用正则表达式来做,但是我想知道是否有一种更容易和更可读的方法来做。

tkclm6bt

tkclm6bt1#

听起来像是fnmatch的完美用例:

import fnmatch

pattern = '20*_*_*'

fnmatch.fnmatch('2023_01_01', pattern)
>>> True
fnmatch.fnmatch('1999_01_01', pattern)
>>> False

如果需要区分大小写的比较,请使用fnmatch.fnmatchcase()而不是fnmatch.fnmatch()

相关问题