# 字符串匹配
判断字符串匹配时,有几种结果:
- 不匹配
- 完全匹配
- 两个字符串的长度相同、同位字符相同,即
str1 == str2
。
- 两个字符串的长度相同、同位字符相同,即
- 部分匹配
- :两个字符串的长度不同,但短的那个字符串包含于另一个字符串。
- 模糊匹配
- :一个字符串删除、替换少量字符之后,就能与另一个字符串完全匹配。
- 此时称两个字符串相似。
判断字符串匹配时,有几种方式:
- 普通模式
- :比较同位字符是否相同。
- 默认要求完全匹配,
- 通配符模式
- :使用通配符(wildcard)。
- 默认要求完全匹配。
- 正则模式
- :使用正则表达式。
- 默认要求部分匹配。
- 普通模式
# import fnmatch
:Python 的标准库,使用 Unix shell 风格的通配符,进行字符串匹配。
pattern 中可以包含以下通配符:
? # 匹配单个字符。相当于正则的 . * # 匹配任意个字符,包括零个。相当于正则的 .* [xxx] # 声明一个字符集,用于匹配单个属于该字符集的字符 [!xxx] # 声明一个反向匹配的字符集
- 例:
[abc] # 匹配 a、b、c 中的一个字符 [a-z] # 匹配 a~z 范围内的一个字符 [!a-z] # 匹配非 a~z 范围的一个字符
- 例:
常用函数:
def fnmatch(string, pattern) -> bool
- 功能:判断 string 是否与 pattern 匹配。
- 例:
>>> import fnmatch >>> fnmatch.fnmatch('1.txt', '1.txt') True >>> fnmatch.fnmatch('1.txt', '*.txt') True >>> fnmatch.fnmatch('1.txt', '?.txt') True