• 正則表達式总结


    . 匹配随意字符
    对字符转义
    | 选择操作(或)
    ^ 行起始字符
    $ 行终止
    ?

    匹配0个或1个的量词

    * 匹配0个或多个的量词
    + 匹配一次或多次的量词 grep要转义
    [ 字符组開始
    ] 字符组结束
    { 量词或代码的開始
    } 量词或代码的结束
    ( 分组開始
    ) 分组结束

    反斜杠后面加大写字符为小写字符的取反,比方为单词边界,B为非单词边界
     单词边界  grep里要加引號
    [] 退格符
    cx 控制字符
    d 数字
    dxxx 字符的十进制
    oxxx 字符的八进制
    x xx 字符的十六进制
    f 换页
    回车
    换行
    s 空白符
    水平制表符
    w 单词字符
    空字符

    (?

    d) Unix中的行

    (?i) 不区分大写和小写
    (?

    J) 同意反复的名字

    (?m) 多行
    (?s) 单行
    (?u) Unicode
    (?U) 默认最短匹配
    (?x) 忽略空格和凝视
    (?-...) 撤销设置或关闭选项

    (d)d1
    第一个为分组,表示匹配第一个数字并将其捕获
    1表示对捕获的数字进行反向引用。

    7+ 等同于 7{1,}
    7* 等同于 7{0,}
    7? 等同于 7{0,1}

    懒惰量词:假设你想匹配最少而不是最多数目的字符,能够使用懒惰量词
    ?? 懒惰匹配0或1次 (事实上就是0次)
    +? 懒惰匹配1或多次 (事实上就是1次)
    *? 懒惰匹配0或1次 (事实上就是0次)
    {n}? 懒惰匹配n次 (事实上就是n次)
    {n,}? 懒惰匹配n或n次以上 (事实上就是n次)
    {m,n}?

     懒惰匹配m到n次 (事实上就是m次)


    占有量词:匹配尽量多的。同懒惰量词相反。没有回溯,可能导致找不到匹配。由于一下次选定了全部输入,不再回头。
    ?+ 
    ++
    *+
    {n}+
    {n,}+
    {m,n}+

    前瞻:
    ancyent(?

    =marinere)

    寻找每一行后面跟marinere的单词ancyent
    反前瞻:
    ancyent(?!marinere)
    寻找每一行前面跟marinere的单词ancyent

    參考:《学习正則表達式》
  • 相关阅读:
    Tableau Sheet
    Tableau Dashboard
    jQuery基础
    Tableau学习
    SQL小操作
    C#文件压缩成.Zip
    划水日记之大哥带我走渗透I
    各种推导式
    生成器表达式 (重点)
    生成器 生成器函数
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5093274.html
Copyright © 2020-2023  润新知