1. 程式人生 > >135.Python修煉之路【140-前端-JQuery-正則表示式】2018.08.04

135.Python修煉之路【140-前端-JQuery-正則表示式】2018.08.04

正則表示式

1、什麼是正則表示式: 
能讓計算機讀懂的字串匹配規則。

2、正則表示式的寫法:
var re=new RegExp('規則', '可選引數');
var re=/規則/引數;

3、規則中的字元 
1)普通字元匹配:
如:/a/ 匹配字元 ‘a’,/a,b/ 匹配字元 ‘a,b’

2)轉義字元匹配:
\d 匹配一個數字,即0-9
\D 匹配一個非數字,即除了0-9
\w 匹配一個單詞字元(字母、數字、下劃線)
\W 匹配任何非單詞字元。等價於[^A-Za-z0-9_]
\s 匹配一個空白符
\S 匹配一個非空白符
\b 匹配單詞邊界
\B 匹配非單詞邊界
. 匹配一個任意字元,除了換行符‘\n’和回車符‘\r’
\1 重複子項

4、量詞:對左邊的匹配字元定義個數 
? 出現零次或一次(最多出現一次)
+ 出現一次或多次(至少出現一次)
* 出現零次或多次(任意次)
{n} 出現n次
{n,m} 出現n到m次
{n,} 至少出現n次

5、任意一個或者範圍 
[abc123] : 匹配‘abc123’中的任意一個字元
[a-z0-9] : 匹配a到z或者0到9中的任意一個字元

6、限制開頭結尾 
^ 以緊挨的元素開頭
$ 以緊挨的元素結尾

7、修飾引數:
g: global,全文搜尋,預設搜尋到第一個結果接停止
i: ingore case,忽略大小寫,預設大小寫敏感
m: multiple lines,多行搜尋(更改^ 和$的含義,使它們分別在任意一行對待行首和行尾匹配,而不僅僅在整個字串的開頭和結尾匹配)

8、常用函式 
1、test
用法:正則.test(字串) 匹配成功,就返回真,否則就返回假

2、search
用法:字串.search(正則) 匹配成功,返回位置,否則返回-1

3、match
用法: 字串.match(正則);匹配成功,就返回匹配成功的陣列,否則就返回null

4、replace
用法:字串.replace(正則,新的字串) 匹配成功的字元去替換新的字元

正則預設規則 
匹配成功就結束,不會繼續匹配,區分大小寫