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

1、正則表達式的概念及特色:

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

正則表達式的特色:

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

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

  例如找出多有符合xxxxx@xxxx.xxx模式的字符串(也就是mail地址),要求x能夠是字母、數字、下劃線、小數點、短劃線,email正則表達式

地址的每一部分能夠有一個或多個x字符,例如abc@ed.com、1_2@789-6.54等,固然,符合這個模式的並不必定是合法的mail地址,編輯器

但至少能夠作一次初步的篩選,篩選掉相似於a.b、c@d等不符合的字符串。再好比說,找出全部符合yyy.yyy.yyy.yyy模式的字符串(IP地spa

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

一、字符類

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

eg:blog

二、數量限定符

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

eg:it

三、位置限定符

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

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

 

eg:

 

四、特殊字符

eg:

相關文章
相關標籤/搜索