zoukankan      html  css  js  c++  java
  • Shell编程 之 正则表达式

    1. 什么是正则表达式

      正则表达式是用于描述字符排列和匹配模式的一种语法规则。

      主要用于字符串的模式分割、匹配、查找 和 替换的操作。

    2. 正则表达式与通配符

      2.1 通配符:

        --  *  匹配任意内容

        --  ?  匹配任意一个内容

        --  []  匹配中括号中的一个字符

      2.2 正则表达式与通配符:

        - 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed等命令可以支持正则表达式(搜索字符串的命令能识别正则)。

    [root@localhost sh]# grep "echo" process.sh
    echo "$$ is current PID: $$"
    echo "$! is the last PID in background: $!"

        - 通配符用来匹配符合条件的文件名,通配符是完全匹配。ls、find、cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配(搜索文件的命令能识别通配符)。  

    [root@localhost sh]# find . -name "abc*"
    ./abc
    ./abcd

    3. 基础正则表达式

      

      tips:先在 .bashrc 下定义两个别名,然后 source .bashrc

        

      3.1 星号  *  :前一个字符匹配0次或任意多次

      3.2 逗点  .   :匹配除了换行符外任意一个字符

      3.3 尖角  ^   :匹配行首,^ 写在前面

      3.4 刀了  $   :匹配行尾,$ 写在后面

      3.5 中括  []   :匹配中括号中指定的任意一个字符

      3.6 中括内尖角  [^a-z]   :匹配除a到z外的任意一个字符

      3.7 转义符     :用于取消特殊符号的含义

      3.8 重复符号   {n}   :表示其前面的字符恰好出现n次

            重复符号   {n,}   :表示其前面的字符出现不小于n次

      3.9 重复次数   {n,m}  :匹配其前面的字符至少出现n次,最多出现m次

    4. 案例

      例1:匹配日期格式 YYYY-MM-DD

        [ 0 - 9 ] { 4 }   -    [ 0 - 9 ] { 2 }    -    [ 0 - 9 ] { 2 }

      例2:匹配IP地址

        [ 0 - 9 ] {1 , 3 }  .  [ 0 - 9 ] { 1 , 3 }  .  [ 0 - 9 ] { 1 , 3 }  .  [ 0 - 9 ] { 1 , 3 } 

  • 相关阅读:
    MSP430:实时时钟-DS1302
    STM32: TIMER门控模式控制PWM输出长度
    LVM磁盘管理
    python的面向对象,类,以及类的使用
    pymysql模块
    paramiko模块
    正则表达式和re模块
    python3的soker模块实现功能
    根据生日测星座
    多进程,进程池,协程
  • 原文地址:https://www.cnblogs.com/wnzhong/p/6387975.html
Copyright © 2011-2022 走看看