Python中字符串与通配符的简单匹配方法咨询
更简便的通配符匹配方案
直接用Python标准库的fnmatch模块就行,它专门处理这种shell风格的通配符匹配,比正则可读性强太多,代码也更简洁:
import fnmatch def compare(text, pattern): return fnmatch.fnmatch(text, pattern) # 测试你的用例 pattern = '20*_*_*' print(compare('2023_01_01', pattern)) # 输出 True print(compare('1999_01_01', pattern)) # 输出 False
fnmatch的规则完全贴合你的需求:*代表任意长度的任意字符,不需要转义或者写复杂的正则表达式。如果需要严格区分大小写匹配,可以用fnmatch.fnmatchcase()方法,用法和fnmatch()一致。
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

