Python实现通配符表达式匹配 - 不区分大小写匹配
"""\nimport re\n\n\ndef wildcard_match(pattern, strings):\n # 将通配符表达式转化为正则表达式\n pattern = pattern.replace('.', '\.').replace('', '.').replace('?', '.')\n # 编译正则表达式\n regex = re.compile(pattern, re.IGNORECASE)\n # 逐个匹配字符串\n results = []\n for string in strings:\n # 使用re.match()函数进行匹配\n if re.match(regex, string):\n results.append(True)\n else:\n results.append(False)\n return results\n\n# 测试示例\npattern = '*.txt'\nstrings = ['file.txt', 'document.doc', 'picture.jpg']\nresults = wildcard_match(pattern, strings)\nprint(results) # 输出: [True, False, False]\n"""\n在上述示例中,通配符表达式*.txt被转化为正则表达式.*\\.txt,其中.*表示匹配任意字符(0个或多个),\\.表示匹配.字符,txt表示匹配字符串txt。然后使用re.match()函数逐个匹配字符串,如果匹配成功则将结果添加到结果列表中,并最终返回结果列表。由于使用了re.IGNORECASE参数,因此匹配时不区分大小写。
原文地址: http://www.cveoy.top/t/topic/qpoy 著作权归作者所有。请勿转载和采集!