我们会用术语 “matching”(“匹配”),指的是术
语 pattern-matching(模式匹配)。在 Python
专门术语中,有两种主要方法完成模式匹配:搜索(searc
hing)和匹配(matching)。搜索,即在字符
串任意部分中查找匹配的模式,而匹配是指,判断一个字符
串能否从起始处全部或部分的匹配某个
模式。搜索通过 search()函数或方法来实现,而匹配是
以调用 match()函数或方法实现的。
(?i) 是模式修饰符,表示不区分大小写
< 普通文本
/? /是普通文本,而?表示它前面的字符可有可无。/?在一起表示/可有可无
a 普通文本
\\b 单词边界
[^>]* [^>]表示匹配除了>以外的所有字符。*表示它前面的字符重复0到多次。[^>]*在一起表示匹配除了>以外的字符0到多次
> 普通字符
综上:(?i)?a\\b[^>]*>的意思是匹配以的字符,最后以>结尾的字符串。 比如:以上正则可以匹配 re 模块的函数 compile(pattern,flags=0) 对正则表达式模式pattern进行编译, flags是可选标志符, 并返回一个 regex 对象 re 模块的函数和 regex 对象的方法 match(pattern,string, flags=0) 尝试用正则表达式模式 pattern 匹配字符串 string, Edit By Vheavens Edit By Vheavens flags 是可选标志符,如果匹配成功,则返回一个匹配对 象;否则返回 None search(pattern,string, flags=0) 在字符串 string 中查找正则表达式模式 pattern 的 第 一次出现,flags 是可选标志符,如果匹配成功,则返回 一个匹配对象;否则返回 None findall(pattern,string[,flags]) a 在字符串 string 中查找正则表达式模式 pattern 的所有 (非重复)出现;返回一个匹配对象的列表 finditer(pattern,string[, flags]) b 和 findall()相同,但返回的不是列表而是迭代器;对 于每个匹配,该迭代器返回一个匹配对象 split(pattern,string, max=0) 根据正则表达式 pattern 中的分隔符把字符 string 分割 为一个列表,返回成功匹配的列表,最多分割 max 次(默 认是分割所有匹配的地方)。 sub(pattern, repl, string, max=0) 把字符串 string 中所有匹配正则表达式 pattern 的 地 方替换成字符串 repl,如果 max 的值没有给出, 则对所有 匹配的地方进行替换(另外,请参考 subn(),它还会返回 一个表示替换次数的数值)。 group(num=0) 返回全部匹配对象(或指定编号是 num 的子组) groups() 返回一个包含全部匹配的子组的元组(如果没有成功匹配,就返回一个空元 组) 因篇幅问题不能全部显示,请点此查看更多更全内容