zoukankan      html  css  js  c++  java
  • 正则入门

    正则入门


    1. 元字符及反义
    2. 重复
    3. 分枝
    4. 分组
    5. 后向引用
    6. 零宽断言
    7. 贪婪与懒惰

    一、元字符及反向引用

    元字符(metacharacter),可以理解为匹配的最小单元

     匹配一个位置,它的前一个字符和后一个字符不全是w

    . 匹配除了换行符以外的任意字符

    d 匹配一位数字

    s 匹配任意的空白符(空格、TAB、换行符、中文全角空格等)

    w 匹配字母或数字或下划线或汉字等

    ^ 匹配字符串的开始

    $ 匹配字符串的结束

    反向引用,匹配不是XX的字符

    S 匹配任意不是空白符的字符 W 匹配任意不是字母数字或下划线或汉字等

    D 匹配任意不是数字的字符

    B 匹配不是单词(正则意义中的单词)开头或结束的位置

    [^x] 匹配除了x以外的任意字符

    [^aeiou] 匹配除了aeiou以外的任意字符

    二、重复

    * 重复次数大于等于0

    + 重复次数大于等于1

    ? 重复次数为0/1

    {n} 重复次数为n

    {n,} 重复次数大于等于n

    {n,m} 重复次数大于等于n小于等于m

    三、分支

    | 也就是或

    四、分组

    ()

    五、后向引用

    1、先用()指定一个子表达式,第一个出现的分组分组号为1,第二个为2
    2、后向引用用于重复搜索前面某个分组匹配的文本

    (w+)s1

    六、零宽断言

    (?=exp) 匹配exp前面的位置
    (?<=exp) 匹配exp后面的位置
    (?!exp) 匹配后面跟的不是exp的位置
    (?<!exp) 匹配前面不是exp的位置

    七、贪婪与懒惰

    a.*b 匹配aabab 结果:aabab

    a.*?b 匹配aabab 结果:aab

  • 相关阅读:
    自动化运维-ansible
    Linux中安装wget命令
    Celery
    SQLAlchemy
    非关系型数据库--MongoDB
    Flask框架
    Redis
    公钥与私钥
    win10 文件扩展名的更改
    if 和 elif 的区别
  • 原文地址:https://www.cnblogs.com/nadech/p/9188790.html
Copyright © 2011-2022 走看看