perl學習筆記 正規表示式

2021-06-19 10:12:38 字數 1612 閱讀 2116

. 匹配除換行符以外的所有字元   /c..i/ 找到c後面跟著二個任意字元,再跟著i的字串

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

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

.* 匹配0次或一次的任何字元;  .+ 匹配1次或多次的任何字元 

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

匹配在 m個 以上 n個 以下 的指定字串  /\d/ 5-12位數字  /cgi/找到c後跟著2個到4個g再跟著i的字串 

匹配符合 內的字元  匹配一組字元中的乙個,如/a[0123456789]c/將匹配a加數字加c的字串。與+聯合使用例:/d[ee]+f/匹配def、 def、deef、dedf、deeeeeeeef等。

[^] 匹配不符合 內的字元 ^表示除其之外的所有字元,如:/d[^dee]f/匹配d加非e字元加f的字串。 

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

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

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

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

^ 匹配字元開頭的字元 /^perl/ 找到開頭是 perl 的字串

$ 匹配字元結尾的字元 /perl$/ 找到結尾是 perl 的字串

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

4、轉義字元 

如果你想在模式中包含通常被看作特殊意義的字元,須在其前加斜線"\"。如:/\*+/中\*即表示字元*,而不是上面提到的乙個或多個字元的含義。斜線的表示為/\\/。在perl5中可用字元對\q和\e來轉義。 

在反斜槓前面 加上反斜槓 即可,當然這是在有內插的上下文環境中,例如雙引號內部,正規表示式內部。

若是無內插的上下文環境,例如,單引號內部,那就直接乙個反斜槓即可了,反正不會轉義。

Perl學習筆記(6) 正規表示式

通用量詞,可以用 表示大於等於1個,表示大於0次,表示0或1次。而通過 指定指定重複次數,比如 可以用 1,表示,用 0,1 替換s pattern replacement 預設是對匹配的第乙個進行替換,如果加上 g可以進行全域性替換,即匹配所有進行替換。split 根據分割符拆分乙個字串為列表。f...

Perl 正規表示式

正規表示式文中列表 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個後向引用 或乙個八進位制轉義符。匹配輸入字串的開始位置。如果設定了 regexp 物件的multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。如果設定了 regexp 物件的multiline 屬性...

Perl正規表示式

元字元 元字元的含義是具有特殊含義的字元,即為元字元,元字元包括 點號能夠匹配所有的單字元,但是換行字元除外 n 簡易量詞 記載匹配正規表示式的時候有些需要重複的字元或者字串,我們在表示這種重複的形式的時候,即是量詞,我們知道的量詞有 表示至少重複一次,表示重複一次或者一次 以上,指的是重複一次或者...