正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,
這個(gè)“規(guī)則字符串”用來表達(dá)對(duì)字符串的一種過濾輯。
給定一個(gè)正則表達(dá)式和另一個(gè)字符串,我們可以達(dá)到如下的目的:
1. 給定的字符串是否符合正則表達(dá)式的過濾邏輯(稱作“匹配”);
2. 可以通過正則表達(dá)式,從字符串中獲取我們想要的特定部分。
正則表達(dá)式的特點(diǎn)是:
1. 靈活性、邏輯性和功能性非常的強(qiáng);
2. 可以迅速地用極簡(jiǎn)單的方式達(dá)到字符串的復(fù)雜控制。
3. 對(duì)于剛接觸的人來說,比較晦澀難懂。
由于正則表達(dá)式主要應(yīng)用對(duì)象是文本,因此它在各種文本編輯器場(chǎng)合都有應(yīng)用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,
都可以使用正則表 達(dá)式來處理文本內(nèi)容。
1.字符類(Character Class):如上例的x和y,它們?cè)谀J街斜?一個(gè)字符,但是取值范圍是一類字符中的任意一個(gè)。
2.數(shù)量限定符(Quantifier): 郵件地址的每一部分可以有一個(gè)或多個(gè)x字符,IP地址的每一部分可以有1-3個(gè)y字符 3.位置限定符(Anchor):描述各種字符類以及普通字符之間的位置關(guān)系,例如郵件地址分三部分,用普通字符@和.隔 開,IP地址分四部分, 用.隔開,每一部分都可以用字符類和數(shù)量限定符描述。
以grep的正則表達(dá)式為例
[字符類]
示例:
[數(shù)量限定符]
示例:
再次注意grep找的是包含某一模式的行,而不是完全匹配某一模式的行。 [位置限定符]
示例:
[特殊字符]
示例:
注意正則表達(dá)式參數(shù)?單引號(hào)括起來了,因?yàn)檎齽t表達(dá)式中?到的很多特殊字符在Shell中也有特殊含義(例如\),
只有?單引號(hào)括起來才能保證這些字符原封不動(dòng)地傳給grep命令,而不會(huì)被Shell解釋掉。
|
|