正則表達式

1.正則表達式特色正則表達式

是匹配字符串內容的一種規則。只和字符串相關了ci

2.字符組 : [字符組]字符串

在同一個位置可能出現的各類字符組成了一個字符組,一個[]表示一個字符組im

規則[0123456789] 待匹配字符 8
能夠用-表示範圍,[0-9]就和[0123456789]是一個意思
[9-0]是錯誤的,數字只能從小到大,是根據ascii碼的規則
[a-zA-Z]表示大小寫均匹配 [A-Fa-f0-9]用來驗證十六進制字符img


3.元字符:tab

3.1 w,s,d
\w 匹配字母或數字或下劃線 \s 匹配任意的空白符  \d   匹配數字
\W 匹配非字母或數字或下劃線 \D 匹配非數字 \S   匹配非空白符
3.2 . n,t,b
\n 匹配一個換行符   \t   匹配一個製表符(tab鍵)  \b  匹配一個單詞的結尾 .    匹配除換行符之外的任意字符
3.3 () [] [^]
()匹配括號內的表達式,也表示一個組 [...]匹配字符組中的字符 [^...]   匹配除了字符組中字符的全部字符
3.4 ^ $ |
1.^匹配字符串的開始 $匹配字符串的結尾  a|b 匹配字符a或字符b
2.^e只能放到最前面 ^la lala 匹配前兩個la la$顯示後兩個la
3.^ey$ 肯定一個字符串 ^e.*y$ 以e爲開頭以y爲結尾
4.a|b 有重合的部分先匹配長的,再匹配短的字符

 

4.量詞:
4.1{n} 重複n次 {n,} 重複n次或更屢次 {n,m} 重複n到m次
4.2 * 重複零次或更屢次 + 重複一次或更屢次 ? 重複零次或一次
匹配小數: \d+\.\d+ 匹配數字: \d+\.?\d*ascii

 

 

5.轉義符 \ 將有意義元字符轉成普通數字

\\d \d  True   轉義\以後變成\\,便可匹配
r'\\d' r'\d'   True  在字符串以前加r,讓整個字符串不轉義錯誤

6.貪婪匹配和惰性匹配

*,+,?等都是貪婪匹配,也就是儘量匹配,後面加?號使其變成惰性匹配

.*?的用法

 

. 是任意字符
* 是取 0 至 無限長度
? 是非貪婪模式。
合在一塊兒就是 取儘可能少的任意字符,通常不會這麼單獨寫,他大多用在:
.*?x
就是取前面任意長度的字符,直到一個x出現


7.分組 ()與 或 |[^]

身份證號碼是一個長度爲15或18個字符的字符串,若是是15位則所有🈶️數字組成,首位不能爲0; 若是是18位,則前17位所有是數字,末位多是數字或x,下面咱們嘗試用正則來表示: 1.^[1-9]\d{14}(\d{2}[0-9x])?$  2.^([1-9]\d{16}[0-9x]|[1-9]\d{14})$

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息