perl 中一些常用的正則匹配

2021-04-02 12:32:05 字數 2160 閱讀 9450

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

/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 的字串而且不考慮這些字串的大小寫

模式修飾符

共六個:

g(全域性),i(忽略大小寫),m(多行),o(只一次),s(單行),x(多餘空格)

PS中一些常用知識

1,前景色,背景色什麼意思 你開啟ps後有個工具欄,在那一大堆工具下面有前後疊著的兩個方塊,置前的是前景色置後的是背景色,二者可以相互轉換。在一般的使用中,前景色和背景色其實只是乙個概念性的問題,並不是說就代表著 的顏色。簡單點說就是你畫 了乙個矩形框,想填充紅色。這時你可以選擇把前景色設為紅色,然...

Web中一些常用效果

style word break break all word wrap break word 禁止自動換行h1 屬性描述 cssborder collapse 規定是否合併 邊框 2border spacing 規定相鄰單元格邊框之間的距離 2caption side 規定 標題的位置 2empt...

c STL中一些常用操作

include include include include include using namespace std intmain s.erase 1,3 第乙個引數指定從此索引位置開始刪除,第二個元素指定刪除的長度,如果無則會刪除從索引對應的元素之後的所有元素 cout s vector in...