「正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫爲regex、regexp或RE),計算機科學的一個概念。正則表達式一般被用來檢索、替換那些符合某個模式(規則)的文本。html
代碼正則表達式 |
說明json |
.函數 |
匹配除換行符之外的任意字符工具 |
\w測試 |
匹配字母或數字或下劃線網站 |
\sspa |
匹配任意的空白符設計 |
\dregexp |
匹配數字 |
\b |
匹配單詞的開始或結束 |
^ |
匹配字符串的開始 |
$ |
匹配字符串的結束 |
代碼/語法 |
說明 |
\W |
匹配任意不是字母,數字,下劃線,漢字的字符 |
\S |
匹配任意不是空白符的字符 |
\D |
匹配任意非數字的字符 |
\B |
匹配不是單詞開頭或結束的位置 |
[^x] |
匹配除了x之外的任意字符 |
[^aeiou] |
匹配除了aeiou這幾個字母之外的任意字符
|
代碼/語法 |
說明 |
* |
重複零次或更屢次 |
+ |
重複一次或更屢次 |
? |
重複零次或一次 |
{n} |
重複n次 |
{n,} |
重複n次或更屢次 |
{n,m} |
重複n到m次 |
「原子是正則表達式的最基本的組成單位,並且在每一個模式中最少包含一個原子。原子是由全部那些未顯示指定爲元字符的打印和非打印字符組成,因此在這裏將其詳細劃分爲五類進行介紹。」
①普通字符做爲原子
普通字符是編寫正則表達式時最多見的原子了,包括全部的大寫和小寫字母字符、全部數字等。例如,a——z、A——Z、0——9。
②一些特殊字符和元字符做爲原子
任何一個符號均可以做爲原子使用,但若是這個符號在正則表達式中有一些特殊意義,咱們就必須使用轉義字符「\」取消它的特殊意義,將其變成一個普通的原子。例如,全部標點符號以及一些其餘符號,雙引號「」」、單引號「’」、「*」、「+」、「.」等,若是當原子就必須像\」、\’、\+和\.這樣使用。
③一些非打印字符做爲原子
所謂的非打印字符,是一些在字符串中的格式控制符號,例如空格、回車及製表符號等。例以下表所示列出了正則表達式中經常使用的非打印字符及其含義。
元字符(經常使用的元字符)
④使用「通用字符類型」做爲原子
前面介紹的無論是打印字符仍是非打印字符做爲原子,都是一個原子只能匹配一個字符。而有時咱們須要一個原子能夠匹配一類字符,例如,匹配全部數字不是一個數字,匹配全部字母而不是一個字母,這時就要使用「通用字符類型」了。例以下表所示列出了正則表達式中經常使用「通用字符類型」及其含義。
⑤自定義原子表([])做爲原子
c.模式修正符(經常使用的模式修正符)
「模式修正符就是幾個字母,咱們在每一個正則表達式中能夠一次使用一個,也能夠連續使用多個,每個具必定的意義。對整個正則表達式調優使用,也能夠說是對正則表達式功能的擴展。」經常使用模式修正符有:
d.貪婪模式與懶惰模式
正則表達式,表示重複字符,操做符,默認都是貪婪模式,'?,+,*,{}' 默認都會選擇貪婪模式,會最大長度匹配字符串(量詞默認首先最大匹配字符串,這些量詞有:+,*,?,{m,n} 。一開始匹配,就直接匹配到最長字符串)。要切換到懶惰模式(懶惰模式),就只是在該元字符,後面加多一個」?」 便可切換到非貪婪模式(儘量少地匹配所搜索的字符串)。
e.Python中經常使用的函數: