美文网首页
正则表达式

正则表达式

作者: 錦魚 | 来源:发表于2019-02-28 19:51 被阅读0次

    正则表达式

    字符规则

    贪婪匹配

    . : 除换行外任意字符
    \d:匹配数字[0-9]
    \D:匹配非数字
    \w:匹配单词字符( a-z , A-Z , 0-9 , _ )
    \W:匹配单词非字符
    \s:匹配空白字符
    \S:匹配非空白字符

    ^:以 .. 开头
    $:以 .. 结尾

    \\:转译符号
    ():分组
    | :或
    (P<name>\w+).*(P=name) 别名

    * :匹配*号前面字符0次或者无限次
    +:匹配+号前面字符1次或者无限次
    ?:匹配?号前面字符0次或者1次
    {n,m}:匹配{n,m}前字符,n~m次

    非贪婪匹配>*?

    +?
    ??


    re 模块

    import re
    re.compile(rule,re.rule)
    • 生成一个正则匹配规则对象

    匹配规则-->re.rule
    1).re.I(re.IGNORECASE): 忽略大小写
    2).re.M(MULTILINE): 多行模式,改变’^’和’$’的行为
    3).re.S(DOTALL): 点任意匹配模式,改变’.’的行为
    4).re.L(LOCALE): 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定
    5).re.U(UNICODE): 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性
    6).re.X(VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释


    re.match(rule,coutent)
    • 起始 位置开始匹配,单次匹配,有结果则返回,无结果则返回None
    re.search(rule,content)
    • 整个字符串 中开始匹配,单次匹配,有结果则返回span,无结果则返回None
    re.findall(rule,content)
    • 将字符串中所有符合正则规则的结果全部匹配出来,最终返回的是 列表
    re.finditer(rule,content)
    • 将字符串中所有符合正则规则的结果全部匹配出来,最终返回的是 可迭代对象
    re.sub(rule,result,content)
    • 替换
    • result支持函数
    re.spilt(rule,content)
    • 字符串分割

    相关文章

      网友评论

          本文标题:正则表达式

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