基本正規表示式規則

2021-06-09 23:40:17 字數 1263 閱讀 8035

一、特殊字元

eg:\bhi\b.*\blucy\b 這個意思是以hi開頭的以lucy結尾的不換行的字元

1.\b 這個叫元字元,代表單詞的開頭或結尾,即單詞的分界處,只是乙個位置

2.  . 這個叫元字元,匹配 除 換行符外的任意字元

3.1 * 也是元字元,不代表任何字元,而是指代數量,意味著其前面的內容可以重複數次,重複0次或多次

3.2 + 匹配1個或更多連續的字元,重複1次或多次

3.e ? 重複0次或1次

4. 0-9的數字,表示單一 數字

5. \d 表示一位數字

6. - 連字型大小

7. \d 表示連續2次前面的字元,\d 2《重複<6次

8. \s 匹配任意空白符,包括空格,製表符,換行符,中文全形空格等

9. \w  匹配字幕或數字活下劃線或漢字

10. ^ 匹配字串的開始 和 \b類似

11. $匹配字串結束

二、特殊字元的匹配

例如匹配 * , . ,\等,需要用轉義符 \*,\.,\\

三、匹配字元

[字元]即可

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

指定字元範圍: [0-9]與\d 一致 ,[a-z0-9a-z]

\(?0\d[)-]?\d 表示 (出現1次或0次, 0 ,2位數字, 一次或0次(或-,8位數字

四:分枝條件

遇到多種情況 用 | 把不同的規則分隔開,使用分枝條件時,要注意各個條件的順序,因為從左到右匹配時,只要遇到匹配的,就不再往右繼續匹配。

\d-\d|\d-\d 匹配 123-12345678 或 1234-1234567

五: 分組 

們已經提到了怎麼重複單個字元(直接在字元後面加上限定符就行了);但如果想要重複多個字元又該怎麼辦?你可以用小括號來指定子表示式(也叫做分組),然後你就可以指定這個子表示式的重複次數了

eg:(\d\.)  匹配  111.111.111 

六:反義

有時需要查詢不屬於某個能簡單定義的字元類的字元。比如想查詢除了數字以外,其它任意字元都行的情況,這時需要用到反義:

以下**全為 大寫狀態

**/語法

說明\w

匹配任意不是字母,數字,下劃線,漢字的字元

\s匹配任意不是空白符的字元

\d匹配任意非數字的字元

\b匹配不是單詞開頭或結束的位置

[^x]

匹配除了x以外的任意字元

[^aeiou]

匹配除了aeiou這幾個字母以外的任意字元

正規表示式基本規則

正則 解釋 r 回車 n 換行 t 製表符 d 任意乙個數字,0 9 中的任意乙個 w任意乙個字母或數字或下劃線,也就是 a z,a z,0 9,中任意乙個 s包括空格 製表符 換頁符等空白字元的其中任意乙個 小數點可以匹配除了換行符 n 以外的任意乙個字元 a.d 匹配 aaa100 得到 aa1...

正規表示式基本規則

把上面的規則連線起來,就獲得了完整的正規表示式。a za z0 9 a za z com org edu net 2 正規表示式常用符號 3 簡單示例 a 注意 中的正規表示式 coding utf 8 author jiajiknag 待抓取的網頁是 from urllib.request imp...

正規表示式基本規則

a 字元 x 字元 x。舉例 a 表示字元a 反斜線字元。n 新行 換行 符 u000a r 回車符 u000d b 字元類 abc a b 或 c 簡單類 abc 任何字元,除了 a b 或 c 否定 a za z a到 z 或 a到 z,兩頭的字母包括在內 範圍 0 9 0到9的字元都包括 c ...