正则作用

  1. 匹配 是否存在:match
  2. 匹配 提取:find
  3. 匹配 替换:replace
  4. 匹配 其他操作

匹配 是否存在

match matchstring matchrender re.match re.matchstring

匹配提取 find

Regexp 类型提供了多达 16(2^4)个方法,用于匹配正则表达式并获取匹配的结果。它们的名字满足如下正则表达式:

Find(All)?(String)?(Submatch)?(Index)?

  • 如果’All’出现了,该方法会返回输入中所有互不重叠的匹配结果。如果一个匹配结果的前后(没有间隔字符)存在长度为 0 的成功匹配,该空匹配会被忽略。包含 All 的方法会要求一个额外的整数参数 n,如果 n>=0,方法会返回最多前 n 个匹配结果。常用 -1

  • 如果’String’出现了,匹配对象为字符串,否则应该是[]byte 类型,返回值和匹配对象的类型是对应的。

  • 如果’Submatch’出现了,返回值是表示正则表达式中成功的组匹配(子匹配/次级匹配)的切片。组匹配是正则表达式内部的括号包围的次级表达式(也被称为“捕获分组”),从左到右按左括号的顺序编号。,索引 0 的组匹配为完整表达式的匹配结果,1 为第一个分组的匹配结果,依次类推。

  • 如果’Index’出现了,匹配/分组匹配会用输入流的字节索引对表示 result[2n:2n+1]表示第 n 个分组匹配的的匹配结果。如果没有’Index’,匹配结果表示为匹配到的文本。如果索引为负数,表示分组匹配没有匹配到输入流中的文本。