正規表示式30分鐘入門筆記

2021-08-20 00:12:28 字數 1271 閱讀 4800

1: \b是正規表示式規定的乙個元字元,代表著單詞的開頭或結尾,也就是單詞的分界處。如果要精確地查詢hi這個單詞的話,我們應該使用\bhi\b

2:.是另乙個元字元,匹配除了換行符以外的任意字元

3:*同樣是元字元,它代表的不是字元,也不是位置,而是數量——它指定*前邊的內容可以連續重複使用任意次以使整個表示式得到匹配。因此,./連在一起就意味著任意數量的不包含換行的字元,hi後面不遠處跟著乙個lucy,你應該用\bhi\b.\blucy\b

4:\d是個新的元字元,匹配一位數字(0,或1,或2,或……)

5:-不是元字元,只匹配它本身——連字元(或者減號,或者中橫線,或者隨你怎麼稱呼它),0\d\d-\d\d\d\d\d\d\d\d匹配這樣的字串:以0開頭,然後是兩個數字,然後是乙個連字型大小「-」,最後是8個數字,我們也可以這樣寫這個表示式:0\d-\d

6:元字元歸納

.   匹配除換行符以外的任意字元

\w 匹配字母或數字或下劃線或漢字

\s 匹配任意的空白符

\d 匹配數字

\b 匹配單詞的開始或結束

^ 匹配字串的開始

$ 匹配字串的結束

* 指定前面的字元任意匹配以匹配表示式

7:字元轉義:查詢元字元本身,在元字元前面加 \ 即可,如:

\.      指 .

\* 指 *

\\ 指 \

8: 重複

**     說明

* 重複零次或更多次

+ 重複一次或更多次

? 重複零次或一次

重複n次

重複n次或更多次

重複n到m次

9:: 查詢未定義的元字元如:a,e,i,o,u.用方括號列出即可。

如: * [aeiou]就匹配任何乙個英文母音字母

* [.?!]匹配標點符號(.或?或!)

* [0-9]等同於\d,匹配數字

* [a-z0-9a-z_]等同於\w(如果只考慮英文)

例:(?0\d[) -]?\d :這個表示式可以匹配幾種格式的**號碼,像(010)88886666,或022-22334455,或02912345678等。首先是乙個轉義字元(,它能出現0次或1次(?),然後是乙個0,後面跟著2個數字(\d),然後是)或-或空格中的乙個,它出現1次或不出現(?),最後是8個數字(\d)。

正規表示式30分鐘入門鏈結

正規表示式30分鐘入門教程

30分鐘內讓你明白正規表示式是什麼,並對它有一些基本的了解,讓你可以在自己的程式或網頁裡使用它。最重要的是 請給我30分鐘,如果你沒有使用正規表示式的經驗,請不要試圖在30秒內入門 除非你是超人 別被下面那些複雜的表示式嚇倒,只要跟著我一步一步來,你會發現正規表示式其實並沒有你 想像中的那麼困難。當...

正規表示式30分鐘入門教程 2

有時需要查詢不屬於某個能簡單定義的字元類的字元。比如想查詢除了數字以外,其它任意字元都行的情況,這時需要用到反義 表3.常用的反義 語法 說明 w 匹配任意不是字母,數字,下劃線,漢字的字元 s 匹配任意不是空白符的字元 d 匹配任意非數字的字元 b 匹配不是單詞開頭或結束的位置 x 匹配除了x以外...

PHP正規表示式30分鐘入門教程

正規表示式30分鐘入門教程 三個常用的知識點 1 惰性匹配 正則引擎預設是貪婪的,若要最少重複的話,需要用到惰性匹配符 懶惰限定符 語法 說明 重複任意次,但盡可能少重複 重複1次或更多次,但盡可能少重複 重複0次或1次,但盡可能少重複 重複n到m次,但盡可能少重複 重複n次以上,但盡可能少重複 參...