• Linux正则表达式


    一、基础正则表达式

    (一)基础字符列表

    正则表达式就是一套处理字符串的规则和方法。以行为单位对字符串进行处理,达到快速过滤或者替换字符串的目的。

    下面是正则表达式的特殊字符:

    字符 说明
    ^ 以什么字符开头
    $ 以什么字符结尾
    . 有且只能代表任意一个字符
    转义字符,针对有特殊意义的字符,比如:.
    * 重复零个或者多个前面的一个字符
    .* 匹配所有字符
    [] 匹配字符集中的任意一个字符,注意与()的区别,()可以是整个组中的多个字符
    [^] 匹配不是^后面的字符
    {n,m} 重复前一个任意字符n到m次,注意特殊字符进行转义使用{n,m} 
    {n,} 至少重复前一个任意字符n次,注意特殊字符进行转义使用{n,}
    {n} 重复n次前面任意一个字符n次,注意特殊字符进行转义使用{n}

    (二)实例

    1、测试文件

    [root@localhost project]# cat test.txt 
    I like code,book
    what do you like
    my friends like riding,movie

    2、测试

    # 匹配以I开头的所有字符
    [root@localhost project]# grep "^I" test.txt 
    I like code,book. 
    
    # 匹配以like结尾的字符串
    [root@localhost project]# grep "like$" test.txt 
    what do you like
    
    # 匹配you
    [root@localhost project]# grep "y.u" test.txt 
    what do you like
    
    #匹配字符o零次或者多次
    [root@localhost project]# grep "o*" test.txt 
    I like code,book 
    what do you like
    my friends like riding,movie

     # 字符集匹配
     [root@localhost project]# grep "o[dv]" test.txt
     I like code,book
     my friends like riding,movie

     # 匹配非字符集中的字符
     [root@localhost project]# grep [^a-y] test.txt
     I like code,book
     what do you like
     my friends like riding,movie

     # 重复前一个字符{n,m}
     [root@localhost project]# grep "o{2,3}" test.txt
     I like code,book
     [root@localhost project]# grep "o{1,}" test.txt
     I like code,book
     what do you like
     my friends like riding,movie
     [root@localhost project]# grep "o{2}" test.txt
     I like code,book

    二、扩展正则表达式 

    (一)扩展字符列表

    字符 说明
    + 重复前一个任意字符一次或者多次
    重复前一个任意字符零次或者一次
    |
    () 查找”用户组“中的字符串

    (二)实例

    # 只能使用egrep,grep失效
    [root@localhost project]# egrep "o+k" test.txt 
    I like code,book
    
    # 重复前一个字符零次
    [root@localhost project]# egrep "l?ike" test.txt 
    I like code,book 
    what do you like
    my friends like riding,movie
    
    #
    [root@localhost project]# egrep "you|movie" test.txt 
    what do you like
    my friends like riding,movie
    
    # 用户组
    [root@localhost project]# egrep "(oo|i)k" test.txt 
    I like code,book 
    what do you like
    my friends like riding,movie
  • 相关阅读:
    SpringMVC返回JSON数据时日期格式化问题
    elementUI-tree组件 懒加载
    vue elementUi tree 懒加载使用详情
    Mybatis ResultMap Collection 复合主键
    ElasticSearch-IK分词
    Spring中的InitializingBean接口的使用
    ContextLoadListener & DispatcherServlet 加载顺序以及加载过程
    Spring中查看加载配置文件中 加载类的个数及详情
    DispatcherServlet 被加载顺序
    JetBrainsIDEA-structure结构继承的图标说明
  • 原文地址:https://www.cnblogs.com/shenjianping/p/13934375.html
Copyright © 2020-2023  润新知