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

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

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

  1. pattern = '20*_*_*'
  2. compare('2023_01_01', pattern)
  3. >>> True
  4. compare('1999_01_01', pattern)
  5. >>> False

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

tkclm6bt

tkclm6bt1#

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

  1. import fnmatch
  2. pattern = '20*_*_*'
  3. fnmatch.fnmatch('2023_01_01', pattern)
  4. >>> True
  5. fnmatch.fnmatch('1999_01_01', pattern)
  6. >>> False

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

相关问题