• python 正则表达式


    常量

    进行忽略大小写匹配

    re.IGNORECASE
    

    \w, \W, \b, \B, \d, \D, \s\S 只匹配ASCII,而不是Unicode

     re.ASCII
    

    DOT表示.,ALL表示所有,连起来就是.匹配所有,包括换行符\n默认模式下.是不能匹配行符\n

    re.DOTALL
    

    多行模式,当某字符串中有换行符\n,默认模式下是不支持换行符特性的,比如:行开头 和 行结尾,而多行模式下是支持匹配行开头的。

    re.MULTILINE
    

    详细模式,可以在正则表达式中加注解!

    re.VERBOSE
    

    re模块函数

    查找一个匹配项

    • search: 查找任意位置的匹配项
    • match: 必须从字符串开头匹配
    • fullmatch: 整个字符串与正则完全匹配

    查找多个匹配项

    • findall: 从字符串任意位置查找,返回一个列表
    • finditer:从字符串任意位置查找,返回一个迭代器

    分割

    re.split(pattern, string, maxsplit=0, flags=0)
    

    pattern 分开 string , maxsplit表示最多进行分割次数, flags表示模式,就是上面的常量

    替换

    • sub函数
    • subn函数:与 re.sub函数 功能一致,只不过返回一个元组 (字符串, 替换次数)
    re.sub(pattern, repl, string, count=0, flags=0)
    

    使用 repl 替换 string中符合 pattern 的

    编译正则对象

    • compile函数:将正则表达式的样式编译为一个 正则表达式对象,与re模块有同样的正则函数
    • template函数

    其他

    • r'' :去除转义字符.
    • b'':表示这是一个 bytes 对象
    • u'':字符串以 Unicode 格式 进行编码
    • f'' :表示在字符串内支持大括号内的python 表达式

    . - 除换行符以外的所有字符。

    ^ - 字符串开头。

    $ - 字符串结尾。

    \d,\w,\s - 匹配数字、字符、空格。

    \D,\W,\S - 匹配非数字、非字符、非空格。

    [abc] - 匹配 a、b 或 c 中的一个字母。

    [a-z] - 匹配 a 到 z 中的一个字母。

    [^abc] - 匹配除了 a、b 或 c 中的其他字母。

    aa|bb - 匹配 aa 或 bb。

    ? - 0 次或 1 次匹配。

    * - 匹配 0 次或多次。

    + - 匹配 1 次或多次。

    {n} - 匹配 n次。

    {n,} - 匹配 n次以上。

    {m,n} - 最少 m 次,最多 n 次匹配。

    (*expr*) - 捕获 expr 子模式,以 \1 使用它。

    (?:*expr*) - 忽略捕获的子模式。

    (?=*expr*) - 正向预查模式 expr

    (?!*expr*) - 负向预查模式 expr

    https://zhuanlan.zhihu.com/p/127807805

  • 相关阅读:
    Go语言十六进制转十进制
    Go语言中底层数组和切片的关系以及数组扩容规则
    Golang超时机制--2秒内某个函数没被调用就认为超时
    约瑟夫环问题(猴子选大王)
    冒泡排序优化
    斐波那契数列
    Linux下使用acme.sh (Let's Encrypt) 配置https 免费证书
    git 本地分支指定对应的远程分支
    Git分支开发 -- 利用git pull命令将远程指定仓库的分支拉取到本地
    phpStorm 之 本地开发,Linux上跑项目(连接远端服务器开发)
  • 原文地址:https://www.cnblogs.com/gongyanzh/p/15826445.html
Copyright © 2020-2023  润新知