perl 正規表示式中的常用模式

2021-06-05 12:35:29 字數 2126 閱讀 4494

正規表示式中的常用模式

下面是正規表示式中的一些常用模式。

/pattern/  結果 

. 匹配除換行符以外的所有字元

x? 匹配 0 次或一次 x 字串

x* 匹配 0 次或多次 x 字串,但匹配可能的最少次數

x+ 匹配 1 次或多次 x 字串,但匹配可能的最少次數

.* 匹配 0 次或一次的任何字元

.+ 匹配 1 次或多次的任何字元

匹配剛好是 m 個 的指定字串

匹配在 m個 以上 n個 以下 的指定字串

匹配 m個 以上 的指定字串

匹配符合 內的字元

[^] 匹配不符合 內的字元

[0-9] 匹配所有數字字元

[a-z] 匹配所有小寫字母字元

[^0-9] 匹配所有非數字字元

[^a-z] 匹配所有非小寫字母字元

^ 匹配字元開頭的字元

$ 匹配字元結尾的字元

\d 匹配乙個數字的字元,和 [0-9] 語法一樣

\d+ 匹配多個數字字串,和 [0-9]+ 語法一樣

\d 非數字,其他同 \d

\d+ 非數字,其他同 \d+

\w 英文本母或數字的字串,和 [a-za-z0-9] 語法一樣

\w+ 和 [a-za-z0-9]+ 語法一樣

\w 非英文本母或數字的字串,和 [^a-za-z0-9] 語法一樣

\w+ 和 [^a-za-z0-9]+ 語法一樣

\s 空格,和 [\n\t\r\f] 語法一樣

\s+ 和 [\n\t\r\f]+ 一樣

\s 非空格,和 [^\n\t\r\f] 語法一樣

\s+ 和 [^\n\t\r\f]+ 語法一樣

\b 匹配以英文本母,數字為邊界的字串

\b 匹配不以英文本母,數值為邊界的字串

a|b|c 匹配符合a字元 或是b字元 或是c字元 的字串

abc 匹配含有 abc 的字串

(pattern) () 這個符號會記住所找尋到的字串,是乙個很實用的語法。第乙個 () 內所找到的字串變成 $1 這個變數或是 \1 變數,第二個 () 內所找到的字串變成 $2 這個變數或是 \2 變數,以此類推下去。 

/pattern/i i 這個引數表示忽略英文大小寫,也就是在匹配字串的時候,不考慮英文的大小寫問題。

\ 如果要在 pattern 模式中找尋乙個特殊字元,如 "*",則要在這個字元前加上 \ 符號,這樣才會讓特殊字元失效

下面給出一些例子:   

範例 說明

/perl/ 找到含有 perl 的字串

/^perl/ 找到開頭是 perl 的字串

/perl$/ 找到結尾是 perl 的字串

/c|g|i/ 找到含有 c 或 g 或 i 的字串

/cgi/ 找到 c 後面跟著 2個到 4個 g ,再跟著 i 的字串

/cgi/ 找到 c 後面跟著 2個以上 g ,再跟著 i 的字串

/cgi/ 找到 c 後面跟著 2個 g,再跟著 i 的字串

/cg*i/ 找到 c 後面跟著 0個或多個 g ,再跟著 i 的字串,如同/cgi/

/cg+i/ 找到 c 後面跟著乙個以上 g,再跟著 i 的字串,如同/cgi/

/cg?i/ 找到 c 後面跟著 0個或是 1個 g ,再跟著 i 的字串,如同/cgi/

/c.i/ 找到 c 後面跟著乙個任意字元,再跟著 i 的字串

/c..i/ 找到 c 後面跟著二個任意字元,再跟著 i 的字串

/[cgi]/ 找到符合有這三個字元任意乙個的字串

/[^cgi]/ 找到沒有這三個字元中任意乙個的字串

/\d/ 找尋符合數字的字元,可以使用/\d+/來表示乙個或是多個數字組成的字串

/\d/ 找尋符合不是數字的字元,可以使用/\d+/來表示乙個或是更多個非數字組成的字串

/\*/ 找尋符合 * 這個字元,因為 * 在常規表示式中有它的特殊意思,所以要在這個特殊符號前加上 \ 符號,這樣才會讓這個特殊字元失效

/abc/i 找尋符合 abc 的字串而且不考慮這些字串的大小寫

Perl中的正規表示式

1.perl 中的正規表示式 正規表示式 regular expression 描述了一種字串匹配的模式,可以用來檢查乙個串是否含有某種子串 將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。perl語言的正規表示式功能非常強大,基本上是常用語言中最強大的,很多語言設計正則式支援的時候都參考...

Perl 常用正規表示式整理

前言 正規表示式,又稱規則表示式。英語 regular expression,在程式碼中常簡寫為regex regexp或re 電腦科學的乙個概念。正則表通常被用來檢索 替換那些符合某個模式 規則 的文字。許多程式語言都支援利用正規表示式進行字串操作。例如,在perl中就內建了乙個功能強大的正規表示...

perl常用正規表示式集合

個人常用正規表示式 s s s s s s s g s 這裡 s表示連換行符也匹配,因為.是不匹配換行符的,所以上面的表示式匹配任意字元。下面看第二種方法,perl中的元字元.能匹配所有單個字元,但是不能匹配換行符,如果要匹配的文字含有換行符,那麼.將無法勝任,比如下面的xml檔案。response...