Linux--shell腳本之正則表達式

一、正則表達式的概念及特點:

  正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,
這個“規則字符串”用來表達對字符串的一種過濾邏輯。規定一些特殊語法表示字符類、數量限定符和位置關係,然後用這些特殊語法和普
通字符一起表示一個模式,這就是正則表達式(Regular Expression)。
給定一個正則表達式和另一個字符串,我們可以達到如下的目的:
  1. 給定的字符串是否符合正則表達式的過濾邏輯(稱作“匹配”);
  2. 可以通過正則表達式,從字符串中獲取我們想要的特定部分。

正則表達式的特點:

  1. 靈活性、邏輯性和功能性非常的強;
  2. 可以迅速地用極簡單的方式達到字符串的複雜控制。
  3. 對於剛接觸的人來說,比較晦澀難懂。
  由於正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到
Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。

二、正則表達式有三部分組成:

  例如找出多有符合[email protected]模式的字符串(也就是mail地址),要求x可以是字母、數字、下劃線、小數點、短劃線,email

地址的每一部分可以有一個或多個x字符,例如[email protected][email protected]等,當然,符合這個模式的並不一定是合法的mail地址,

但至少可以做一次初步的篩選,篩選掉類似於a.b、c@d等不符合的字符串。再比如說,找出所有符合yyy.yyy.yyy.yyy模式的字符串(IP地

址),要求y是0~9的數字,IP地址的每一部分可以有1~3個y字符。

1、字符類

字符類(Character Class):上例中的x和y,他們在模式中表示一個字符,但是取值範圍是一類字符中的任意一個。

eg:

2、數量限定符

數量限定符(Quantifier): 郵件地址的每一部分可以有一個或多個x字符,IP地址的每一部 分可以有1-3個y字符

eg:

3、位置限定符

位置限定符(Anchor):描述各種字符類以及普通字符之間的位置關係,例如郵件地址分三部分,用普通字符@和.隔 開,IP地址分四部分,用.隔開,每一部分都可以用

字符類和數量限定符 描述。爲了表示位置關係,需要位置限定符的概念,將在下面介紹。

 

eg:

 

4、特殊字符

eg:

 

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