正則表達式的學習

       正則表達式:處理字符串的方法,以行爲單位處理字符串,其通過一些特殊符號的輔助,可以使用戶輕易的進行查找、刪除、替換某特定字符串的處理程序。

       支持正則表達式表示法的工具程序:grep、vi、awk、sed

       正則表達式分類:1)基礎正則表達式;2)擴展正則表達式

       而在學習正則表達式之前,首先學會工具程序grep的用法: 

grep [-acinv] [--color=auto] '查找字符串' filename
參數:
-a:將binary文件以text文件的方式查找數據
-c:計算找到“查找字符串”的次數
-i:忽略大小寫
-n:輸出行號
-v:反向顯示
--color=auto:將找到的關鍵部分加上顏色顯示

        正則表達式則是操作上述grep中“查找字符串”選項

        以linux中regular_express.txt爲例

        

        1)行首與行尾字符:標註以什麼開始,以什麼結束^和$

         

        含義:找出以th開頭的行數,並使用grep的-i選項,忽略大小寫

        

        含義:找出以"."結尾的行,其中.有特殊含義,需要用轉移字符\進行轉義

             

        含義:找出空行

        2)利用中括號[]查找集合字符

        

        含義:查找包含goo或foo的行

        

       含義:查找不包含小寫字母goo或foo的行,此處在[]中的符號^與行首標識符含義不同,此處含義爲“反向選擇”,在[]之外則代表定位在行首的意義

       

       含義:查找包含任意數字的行

       3)任意一個字符“.”與重複字符“*”

       “.”:代表一定有一個任意字符的意思

       “*”:代表重複前一個字符0-無窮多次的意思

      

      含義:即找出包含g??d字符串,其中中間兩個點代表任意一個字符

      

      含義:找出o出現0次或多次的行

      

      含義:找出o出現0次或多次的行,但由於前面多出兩個o,所以匹配到的行o至少出現兩次

      

      含義:gg之間出現任意字符一次,其中可以匹配任意字符

     4)限定連續字符範圍:{n,m},其中{}需要進行轉義

      

     含義:匹配出現2-5次O的行

     

     含義:匹配出現>=2次O的行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章