zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    PHP简单工厂模式、工厂方法模式和抽象工厂模式
    PHP的HashTable实现
    理解Hash
    PHP中Array的hash函数实现
    R-FCN论文讲解(转载链接)
    目标检测的发展历程
    K-means算法
    pytorch0.4.1安装
    反卷积(deconvolution)
    faster-rcnn自己的理解总结(包括它的前世今身R-CNN和fast R-CNN)
  • 原文地址:https://www.cnblogs.com/shenjianping/p/13934375.html
Copyright © 2011-2022 走看看