zoukankan      html  css  js  c++  java
  • shell 正则表达式

    shell 常用正则表达式

    常用的正则表达
    ^  	      # 行首定位
    $ 	      # 行尾定位
    . 	      # 匹配除换行符以外的任意字符
    *	      # 匹配0或多个重复字符
    + 	      # 重复一次或更多次
    ? 	      # 重复零次或一次
    ?            # 结束贪婪因子 .*? 表示最小匹配
    []	      # 匹配一组中任意一个字符
    [^]	      # 匹配不在指定组内的字符
    	      # 用来转义元字符
    <	      # 词首定位符(支持vi和grep)  <love
    >	      # 词尾定位符(支持vi和grep)  love>
    x{m}        # 重复出现m次
    x{m,}       # 重复出现至少m次
    x{m,n}      # 重复出现至少m次不超过n次
    X? 	      # 匹配出现零次或一次的大写字母 X
    X+ 	      # 匹配一个或多个字母 X
    ()            # 括号内的字符为一组
    (ab|de)+      # 匹配一连串的(最少一个) abc 或 def;abc 和 def 将匹配
    [[:alpha:]]    # 代表所有字母不论大小写
    [[:lower:]]    # 表示小写字母 
    [[:upper:]]    # 表示大写字母
    [[:digit:]]    # 表示数字字符
    [[:digit:][:lower:]]    # 表示数字字符加小写字母 
    

     元字符 

    d 	  # 匹配任意一位数字
    D 	  # 匹配任意单个非数字字符
    w 	  # 匹配任意单个字母数字下划线字符,同义词是 [:alnum:]
    W    # 匹配非数字型的字符
    

     字符类:空白字符

    s    # 匹配任意的空白符
    S    # 匹配非空白字符
        # 匹配单词的开始或结束
    
        # 匹配换行符
    
        # 匹配回车符
    	    # 匹配制表符
        # 匹配退格符
        # 匹配空值字符
    

     字符类:锚定字符

        # 匹配字边界(不在[]中时)
    B    # 匹配非字边界
    A    # 匹配字符串开头
        # 匹配字符串或行的末尾
    z    # 只匹配字符串末尾
    G    # 匹配前一次m//g离开之处
    

      捕获

    (exp)                # 匹配exp,并捕获文本到自动命名的组里
    (?<name>exp)         # 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)
    (?:exp)              # 匹配exp,不捕获匹配的文本,也不给此分组分配组号

      零宽断言

    (?=exp)              # 匹配exp前面的位置
    (?<=exp)             # 匹配exp后面的位置
    (?!exp)              # 匹配后面跟的不是exp的位置
    (?<!exp)             # 匹配前面不是exp的位置
    (?#comment)	         # 注释不对正则表达式的处理产生任何影响,用于注释
    

      特殊字符

    http://en.wikipedia.org/wiki/Ascii_table
    ^H  10   
    ^M  15 
    匹配特殊字符: ctrl+V ctrl不放在按H或M 即可输出^H,用于匹配
    

      

  • 相关阅读:
    为什么为 const 变量重新赋值不是个静态错误
    带有“非简单参数”的函数为什么不能包含 "use strict" 指令
    arguments 对象的老历史
    去掉你代码里的 document.write("<script...
    SameSite Cookie,防止 CSRF 攻击
    扼杀 304,Cache-Control: immutable
    V8 的 typeof null 返回 "undefined" 的 bug 是怎么回事
    IntersectionObserver API
    passive 的事件监听器
    esnext:最后一个参数后面也允许加逗号了
  • 原文地址:https://www.cnblogs.com/sharesdk/p/8695961.html
Copyright © 2011-2022 走看看