美文网首页
Day17——正则表达式

Day17——正则表达式

作者: Devil灬 | 来源:发表于2019-01-15 19:31 被阅读0次

    一、常用字符

    表达式 功能
    普通字符 匹配字符本身
    . 配任意除换行符"\n"外的字符
    \w 匹配字母、数字、下划线、中文
    \W 匹配非字母、数字、下划线、中文
    \s 匹配空白字符
    \S 匹配非空白字符
    \d 匹配数字字符
    \D 匹配非数字字符
    \b 检测(当前所在位置是否是)单词边界
    \B 检测非单词边界
    ^ 检测字符串开头
    $ 检测字符串结尾
    [ ] [字符集] 匹配字符集中的任意一个字符
    [字符1-字符2] 匹配字符1到字符2中所有的字符
    例: [a-zA-Z\d_] 数字字母下划线
    [^字符集] 匹配没有在字符集中的其他任意字符
    \ 转义符号,使后一个字符改变原来的意思
    * (贪婪) 匹配前一个字符0次或多次
    + (贪婪) 匹配前一个字符1次或多次
    ? (贪婪) 匹配前一个字符0次或1次
    { } {M,N}(贪婪) 匹配前一个字符至少M次到最多N次
    {M,}(贪婪) 匹配前一个字符至少M次
    {,N}(贪婪) 匹配前一个字符最多N次
    {N} 匹配前一个字符N次
    | (分之) 表达式1|表达式2|... 依次将表达式匹配,直到成功,否则失败
    ( ) (分组) 将括号中的内容看成一个整体
    分组重复 '\数字'重复前面第几个分组匹配到的内容
    贪婪? 惰性 尽可能少的匹配

    二、内置函数

    表达式 功能 返回值
    compile(pattern,flags=0) 将正则转换成正则对象 正则对象
    fullmatch(pattern, string, flags=0) string与pattern完全匹配 匹配对象\None
    match(pattern, string, flags=0) string的开头与pattern进行匹配 匹配对象\None
    search(pattern, string, flags=0) 在string中去匹配出第一个符合pattern的子串 匹配对象\None
    split(pattern, string, maxsplit=0, flags=0) 将string按照满足pattern要求的子串进行切割 列表
    sub(pattern, repl, string, count=0, flags=0) 将string中能够和pattern匹配的子串替换成repl 新字符串
    findall(pattern, string, flags=0) 在string中获取满足pattern的所有子串(如有分组,只获取分组中内容; 如有多个分组,列表中的元素是元组) 列表
    finditer(pattern, string, flags=0) 在string中获取满足pattern的所有子串 迭代器
    注:
    pattern:正则表达式
    string、repl:字符串
    maxsplit:最大分割次数(下标),默认0:全部分割
    count:替换的个数(前count个),默认0:全部替换
    flags:编译标志位
    标志(flags) 功能
    re.I(IGNORECASE) 忽略大小写
    re.S(DOTALL) 使.匹配包括换行在内的所有字符
    re.M(MULTILINE) 多行匹配,影响^和$
    re.U 根据Unicode字符集解析字符,这个标志影响\w,\W,\b,\B

    相关文章

      网友评论

          本文标题:Day17——正则表达式

          本文链接:https://www.haomeiwen.com/subject/zqwydqtx.html