正規表示式中的常用模式
下面是正規表示式中的一些常用模式。
/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...