• linux正则表达式使用


      首先介绍下正则表达式,它是由一串字符和元字符构成的字符串,简称RE(Regular Expression),它的主要功能是文本查询和字符串操作,它可以匹配一个文本的字符和字符集,达到数据过滤的效果。

      字符分为普通字符和元字符两种。普通字符,例如a、b、1、2等,元字符,例如*、^、[]等,以下是各个元字符代表的含义:

    元字符 含义
    * 0个或多个在*之前的普通字符(hel*o)
    . 任意匹配字符(hell.)
    ^ 匹配行首,或后面字符的非(^Hello,以Hello开头)
    $ 匹配行尾(bye$,以bye结尾;^$,空行;^.$,只匹配一个字符的行)
    [] 匹配字符集([0-9]、[a-z]、[A-Z]、[^a-c]匹配非a-c范围的字符)
    匹配一个元字符的特殊含义(.)
    <> 精确匹配符号(<the>,精确匹配字符串the)
    {n} 匹配全面字符出现n次(Jo{3}b,匹配字符串“Jooob”)
    {n,} 匹配全面字符至少出现n次((Jo{3,}b,匹配字符串中的o至少出现3次))
    {n,m} 匹配全面字符出现n~m次(Jo{3,6},匹配字符串中的o出现次数在3-6之间)
    匹配0个或1个它前面的字符(Jo?b,匹配的字符o出现0次或1次)
    + 匹配1个或多个它前面的字符(Jo+b,匹配的字符o至少出现一次)
    () 通常结合|使用,re(a|o|e)d,匹配a、o、e中的任意一个字符
    | 用于连接多个正则表达式,也可作为管道符用
    {} 可以将多个正则表达式写入{}之间,可以匹配其中的任意表达式

    例:

    精确匹配:

    [root@localhost Desktop]# grep -n '<world>' scripts/a.txt
    2:echo "Hello world"
    14:-----hello world     `
    15:Hello world

    [root@localhost Desktop]# grep -w world scripts/a.txt
    echo "Hello world"
    -----hello world        `
    Hello world

    或:

    匹配规则“|”,需要与-E结合使用

    [root@localhost Desktop]# grep -nE "java|jd" scripts/a.txt
    8:/java/
    13:www.jd.cn

    POSIX字符

    类名 含义
    [:upper:] 表示大写字母A-Z
    [:lower:] 表示小写字母a-z
    [:digit:] 表示阿拉伯数字0-9
    [:alnum:] 表示大小写字母或阿拉伯数字
    [:space:] 表示空格或Tab
    [:alpha:] 表示大小写字母

    例:[root@localhost Desktop]# grep -n [[:upper:]] scripts/a.txt
      2:echo "Hello world"
      15:Hello world
      16:I am Spal

    没有做不到,只有坚持不到
  • 相关阅读:
    参数传递(值传递与引用传递)
    存入redis中的java对象都需要序列化
    windows环境Apache服务器启动失败的原因
    IDEA/Eclipse安装 Alibaba Java Coding Guidelines 插件
    使用freemarker对模板进行渲染
    java使用freemarker作为模板导出Excel表格
    mybatis 中 foreach collection的三种用法
    利用freemarker导出页面格式复杂的excel
    mysql limit和offset用法
    设计模式之二十一:中介者模式(Mediator)
  • 原文地址:https://www.cnblogs.com/confident1012/p/6039798.html
Copyright © 2020-2023  润新知