正则表达式整理

it2022-05-05  180

元字符:      .            除换行符的任意字符      \            转义字符      [...]        字符集合      \d           数字:[0-9]      \D           非数字[0-9]      \s            空白字符 [<空格>\t\r\n\f]      \S           非空白字符[^\s]      \w           单词字符[A-Za-z0-9_]      \W          非单词字符[^\w]   数量词:      *               匹配一个字符0或多次      +               匹配前一个字符1次或多次      ?               匹配前一个字符0次或1次      {m}           匹配前一个字符m次                       {0,}等同于*     {1,}等同于+     {0,1}等同于?      {m,n}        匹配前一个字符m至n次   边界符:      ^               匹配字符串开头,多行匹配每一行开头      $                匹配字符串末尾,多行匹配每一行末尾      \A               仅匹配字符串开头      \Z               仅匹配字符串末尾      \b               匹配\w和\W之间        (^ 放在字符集合外:表示匹配字符串开头             放在字符集合里:表示非)     逻辑、分组:      |                          左右表达式任意匹配一个                                 先匹配左边一旦成功则跳过匹配右边                                 如果|没有包含在()中,匹配整个正则表达式      (...)                      分组匹配,从左到右,每遇到一个编号+1,分组后可加数量词      (?P<name>...)      除了分组序号外,指定一个name的别名      \<number>          引用编号为<number>的分组匹配到的字符串      (?P=name)           引用别名为<name>的分组匹配到的串     方法、函数:      match()               决定RE是否在字符串刚开始的位置匹配      search()              扫描字符串,找到这个RE匹配的位置      findall()               找到RE匹配的所有子串,并把它们作为一个列表返回      finditer()              找到RE匹配的所有子串,并把它们作为一个迭代器返回                                  如果没有匹配到,match()和search()将返回None,否则返回MatchObject实例   MatchObject实例方法:      group()               返回被RE匹配的字符串      start()                 返回匹配开始的位置      end()                  返回匹配结束的位置      span()                 返回一个元组包含匹配(开始,结束)的位置                         p = re.compile(...)                     m = p.match('stirng goes here')                     if m:                          print 'Match found:',m.group()                     else:                          print 'No match'   模块级函数:      match()      search()      sub()                    re.sub(正则表达式string,要替换的string,原始字符串)      subn()                  和sub用法一样,会同时返回替换的次数      split()                   re.split(正则表达式,原始字符串string)      findall()     re属性(编译标志flag):      DOTALL,S               使.匹配包括换行在内的所有字符      IGNORECASE,I         使匹配对大小写不敏感      LOCAL,L                  使本地化识别(locale-aware)匹配(法语等)      MULTILINE,M           多行匹配,影响^和$      VERBOSE,X             能够使用REs的verbose状态,使之被组织得更清晰易懂 分组:      (...)      (...|...)        当有分组时,findall返回的结果会优先返回分组(括号中)中的数据

转载于:https://www.cnblogs.com/fanchangfa/p/3721651.html


最新回复(0)