必須瞭解的正則表達式

Linux系統中常用正則表達式詳解

正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯,主要通過正則匹配來獲取我們想要的特定部分。

要想真正的用好正則表達式,必須要理解以下元字符:

字符 描述
\ 轉譯字符:將將下一個字符標記爲或特殊字符、或原義字符、或向後引用、或八進制轉義符
\n 換行符
\r 回車符
( ) 標記一個子表達式的開始和結束位置,供以後使用
^ 匹配行首
$ 匹配尾行
* 匹配尾行
匹配0次或者一次
I 匹配0次或者一次
\w 匹配包括下劃線的任何單詞字符
\W 匹配任何非單詞字符
. 匹配除換行符的任意單字符(點)
{n} 匹配 n 次,例如,‘o{2}’ 不能匹配 “dog”,但能匹配 “good”
{n,} 最少匹配 n 次,例如,‘o{2}’ 不能匹配 “dog”,但能匹配 “gooooood”
{n} 最少匹配n 次,最多m次
[xyz] 字符集合,匹配所含的任一字符
[^xyz] 字符集合,匹配未包含的任一字符
[a-z] 字符範圍,匹配範圍內任意字符,小寫字符
[^a-z] 字符範圍,匹配不在指定範圍內任意字符,除小寫字符

正則表達式使用程度非常廣泛,命令行以及環境都會有他的影子,數量使用會儘可能的提高工作效率,節約寶貴時間。

  • 從test.txt文本文件中查找已a開頭,中間一個字符,已b結尾的指定文件的行

     grep a.b test.txt 
    

其中 "| . | * | ^ | $ | " 這四個字符所有語言都支持,所以這四個是基礎的正則表達式。

以下可幫助加深理解記憶:

  • [A-Z] 26個大寫字母
  • [a-z] 26個小寫字母
  • [0-9] 0至9數字
  • [A,B,C,D] 包含A或B或C或D字母
  • [a,b,c,d] 包含a或h或t或w字母
  • [0,2,4,6] 包含0或2或4或6數字

當你發現自己的才華撐不起野心時,就請安靜下來學習吧!

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