Linux shell指令碼之正規表示式例項講解

2021-12-30 05:40:53 字數 1766 閱讀 3380

一、正規表示式的概念及特點:

正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,

這個「規則字串」用來表達對字串的一種過濾邏輯。規定一些特殊語法表示字元類、數量限定符和位置關係,然後用這些特殊語法和普

通字元一起表示乙個模式,這就是正規表示式(regular expression)。

給定乙個正規表示式和另乙個字串,我們可以達到如下的目的:

1. 給定的字串是否符合正規表示式的過濾邏輯(稱作「匹配」);

2. 可以通過正規表示式,從字串中獲取我們想要的特定部分。

正規表示式的特點:

1. 靈活性、邏輯性和功能性非常的強;

2. 可以迅速地用極簡單的方式達到字串的複雜控制。

3. 對於剛接觸的人來說,比較晦澀難懂。

由於正規表示式主要應用物件是文字,因此它在各種文字編輯器場合都有應用,小到著名編輯器editplus,大到

microsoft word、visual studio等大型編輯器,都可以使用正規表示式來處理文字內容。

二、正規表示式有三部分組成:

例如找出多有符合***xx@***x.***模式的字串(也就是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,他們在模式中表示乙個字元,但是取值範圍是一類字元中的任意乙個。

2、數量限定符

數量限定符(quantifier): 郵件位址的每一部分可以有乙個或多個x字元,ip位址的每一部 分可以有1-3個y字元

eg:3、位置限定符

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

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

4、特殊字元

Linux shell指令碼之正規表示式

正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元 及這些特定字元的組合,組成乙個 規則字串 這個 規則字串 用來表達對字串的一種過濾邏輯。規定一些特殊語法表示字元類 數量限定符和位置關係,然後用這些特殊語法和普 通字元一起表示乙個模式,這就是正規表示式 regular expre...

Linux shell指令碼之正規表示式

正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元 及這些特定字元的組合,組成乙個 規則字串 這個 規則字串 用來表達對字串的一種過濾邏輯。規定一些特殊語法表示字元類 數量限定符和位置關係,然後用這些特殊語法和普 通字元一起表示乙個模式,這就是正規表示式 regular expre...

Linux shell指令碼之正規表示式

正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元 及這些特定字元的組合,組成乙個 規則字串 這個 規則字串 用來表達對字串的一種過濾邏輯。規定一些特殊語法表示字元類 數量限定符和位置關係,然後用這些特殊語法和普 通字元一起表示乙個模式,這就是正規表示式 regular expre...