正規表示式中的常用模式

2022-06-09 23:45:15 字數 2344 閱讀 2197

正規表示式中的常用模式

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

/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 模式中找尋乙個特殊字元,如 "*",則要在這個字元前加上 \ 符號,這樣才會讓特殊

字元失效

3、正規表示式的八大原則

如果在 unix 中曾經使用過 sed、awk、grep 這些命令的話,相信對於正規表示式(regular expression)

不會感到陌生。下面給大家介紹幾條正規表示式使用過程中的 8 大原則。

正規表示式在對付資料的戰鬥中可形成龐大的聯盟——這常常是一場戰爭。我們要記住下面八條原則:

· 原則1:正規表示式有三種不同形式(匹配(m/ /),替換(s/ / /eg)和轉換(tr/ / /))。

· 原則2:正規表示式僅對標量進行匹配( $scalar =~ m/a/; 可以工作; @array =~ m/a/ 將把@array作為標量

對待,因此可能不會成功)。

· 原則3:正規表示式匹配乙個給定模式的最早的可能匹配。預設時,僅匹配或替換正規表示式

一次( $a = 'string string2'; $a =~ s/string/ /; 導致 $a = 'string 2')。

· 原則4:正規表示式能夠處理雙引號所能處理的任意和全部字元( $a =~ m/$varb/ 在匹配前把varb擴充套件為

變數;如果 $varb = 'a' $a = 'as',$a =~ s/$varb/ /; 等價於 $a =~ s/a/ /; ,執行結果使 $a = " s" )。

· 原則5:正規表示式在求值過程中產生兩種情況:結果狀態和反向引用: $a=~ m/pattern/ 表示 $a 中是否有

子串 pattern 出現,$a =~ s/(word1)(word2)/$2$1/ 則「調換」這兩個單詞。

· 原則6:正規表示式的核心能力在於萬用字元和多重匹配運算子以及它們如何操作。$a =~ m/\w+/ 匹配乙個或多個

單詞字元;$a =~ m/\d/" 匹配零個或多個數字。

· 原則7:如果欲匹配不止乙個字元集合,perl使用 "|" 來增加靈活性。如果輸入 m/(cat|dog)/ 則相當於「匹配

字串 cat 或者 dog。

· 原則8:perl用 (?..) 語法給正規表示式提供擴充套件功能。

(想要學習所有這些原則?我建議大家先從簡單的開始,並且不斷的嘗試和實驗。

參考: 

不過我引用自      

正規表示式中的常用模式

正規表示式中的常用模式 下面是正規表示式中的一些常用模式。pattern 結果 匹配除換行符以外的所有字元 x?匹配 0 次或一次 x 字串 x 匹配 0 次或多次 x 字串,但匹配可能的最少次數 x 匹配 1 次或多次 x 字串,但匹配可能的最少次數 匹配 0 次或一次的任何字元 匹配 1 次或多...

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

正規表示式中的常用模式 下面是正規表示式中的一些常用模式。pattern 結果 匹配除換行符以外的所有字元 x?匹配 0 次或一次 x 字串 x 匹配 0 次或多次 x 字串,但匹配可能的最少次數 x 匹配 1 次或多次 x 字串,但匹配可能的最少次數 匹配 0 次或一次的任何字元 匹配 1 次或多...

正規表示式 常用正規表示式

一 校驗數字的表示式 1 數字 0 9 2 n位的數字 d 3 至少n位的數字 d 4 m n位的數字 d 5 零和非零開頭的數字 0 1 9 0 9 6 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7 帶1 2位小數的正數或負數 d d 8 正數 負數 和小數 d d 9 有兩位小數的...