• Linux 正则表达式详解


    正则表达式(REGULAR):为处理大量的字符串而定义的一套规则和方法,为了处理大量字符串而生

    常见命令参数

    基础正则表达式

    . :有且只有任意一个字符(包括空格)
    * :重复前面任意0或者多个字符
    .*:匹配任意字符==>所有,包括空格
     :转义字符,让有意义的字符,显示原型  $  --> $本身
    ^ :^d  以d开头的文件
    $ :/$  以/结尾的文体
    ^$:表示空行    grep -vn "^$" h.txt -->不显示空行  -n 显示行号
      sed -r 's#(.*) fff#I am 1#g' h.txt  仅仅取每一行的()里面的东西
        r==reqular
    [abc]   匹配字符集内的任意一个字符  [0-9]匹配0-9 [a-z] a-z
    [^abc]  不匹配字符集内的任意字符,相当于取反
    a{n,m} 重复前一个字母,n到m次  
         grep "0{2}" h.txt  重复0 2次
         ==>  egrep "0{2}" h.txt 
         ==>  grep -E "0{2}" h.txt 
    {n,}   重复至少n次
    {,m}   重复之多m次
        注意:egrep ,sed -r过滤一般特殊字符可以不转义
    w  : 只打印字母
        grep "w" h.txt  --> a b c d e f g h i 
    W  : 打印非字母
      :匹配单词的定界符
        grep "hello" h.txt
    d  : 表示数字

    常用的命令展示

    Linux grep/egrep命令详解

    Linux sed命令详解

    Linux awk命令详解

    扩展正则表达

    扩展正则表达式:多用于 egrep,grep -E 
        1. + 重复一个或者一个以上的字符
             grep -Eo "go+d" h.txt --> god good 
        2. ?重复0个或者一个  比 . 的范围大 
             grep -Eo "g?d"   h.txt -->  gd, d 
             grep -Eo "go?d"  h.txt -->  gd god  
        3. | 查询多个符合的字符串 
             grep -Eo "hello|world" --> hello  world
        4. ()找出"用户组"字符串
             egrep "g(la|oo)d" h.txt --> good glad

    关于正则的一些小知识

    1.Linux中适用于:grep,egrep,awk,sed,  
    2.区别通配符和正则  例如  ls *.log这里的 * 表示 所有的
    3.Linux一般以行为单位
    4.注意字符集 export LC_ALL=C  
    5.可以在 man grep/sed 过滤REGULAR 查看更多正则 

  • 相关阅读:
    angular2怎么使用第三方的库(jquery等)
    线性代数:方程组的几何解释
    2016新的计划
    ES+Hbase对接方案概述
    sparkR操作HDFS上面的CSV文件
    spark1.6配置sparksql 的元数据存储到postgresql中
    spark读写Sequoiadb
    Spring Boot与Docker部署
    Docker中使用Tomcat并部署war工程
    CentOS7安装使用Docker
  • 原文地址:https://www.cnblogs.com/ftl1012/p/regex.html
Copyright © 2020-2023  润新知