shell腳本學習—正則表達式


  • 正則表達式概念、特點
正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,
這個“規則字符串”用來表達對字符串的一種過濾輯。
給定一個正則表達式和另一個字符串,我們可以達到如下的目的:
     1. 給定的字符串是否符合正則表達式的過濾邏輯(稱作“匹配”);
     2. 可以通過正則表達式,從字符串中獲取我們想要的特定部分。
正則表達式的特點是:
    1. 靈活性、邏輯性和功能性非常的強;
    2. 可以迅速地用極簡單的方式達到字符串的復雜控制。
    3. 對於剛接觸的人來說,比較晦澀難懂。
   由於正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,
   都可以使用正則表 達式來處理文本內容。
 
  • 正則表達式組成部分
  1.字符類(Character Class):如上例的x和y,它們在模式中表⽰一個字符,但是取值范圍是一類字 符中的任意一個。
 2.數量限定符(Quantifier): 郵件地址的每一部分可以有一個或多個x字符,IP地址的每一部分 可以有1-3個y字符
 3.位置限定符(Anchor):描述各種字符類以及普通字符之間的位置關系,例如郵件地址分三 部分,用普通字符@和.隔 開,IP地址分四部分,
    用.隔開,每一部分都可以用字符類和數量限定符 描述。
 
    以grep的正則表達式為例
  
                                     [字符類]
    
      示例:
    
 
 
 
                                       [數量限定符]
       

     示例:

     

      再次注意grep找的是包含某一模式的行,而不是完全匹配某一模式的行。

 

  
                                     [位置限定符]
     
       示例:
     
 
 
 
                                           [特殊字符]
        
          示例:
      
 
 
     注意正則表達式參數⽤單引號括起來了,因為正則表達式中⽤到的很多特殊字符在Shell中也有特殊含義(例如\),
    只有⽤單引號括起來才能保證這些字符原封不動地傳給grep命令,而不會被Shell解釋掉。
  
 
            


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM