Linux shell指令碼之Regex執行個體講解,shell執行個體講解

來源:互聯網
上載者:User

Linux shell指令碼之Regex執行個體講解,shell執行個體講解

一、Regex的概念及特點:

Regex是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個“規則字串”,

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

通字元一起表示一個模式,這就是Regex(Regular Expression)。

給定一個Regex和另一個字串,我們可以達到如下的目的:

1. 給定的字串是否符合Regex的過濾邏輯(稱作“匹配”);

2. 可以通過Regex,從字串中擷取我們想要的特定部分。

Regex的特點:

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

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

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

由於Regex主要應用對象是文本,因此它在各種文字編輯器場合都有應用,小到著名編輯器EditPlus,大到

Microsoft Word、Visual Studio等大型編輯器,都可以使用Regex來處理常值內容。

二、Regex有三部分組成:

例如找出多有符合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地

址),要求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:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.