正規表示式

2021-08-29 03:59:59 字數 2065 閱讀 4602

關於正規表示式可能已經是乙個老生常談的話題了,但是說再多都不為過,主要是要熟練掌握,以達到靈活運用的地步。

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 匹配非單詞邊界

. 匹配乙個任意字元

var str01 = '123456asdf';

var re01 = /\d+/;

//匹配純數字字串

var re02 = /^\d+$/;

alert(re01.test(str01)); //彈出true

alert(re02.test(str01)); //彈出false

4、量詞:對左邊的匹配字元定義個數

? 出現零次或一次(最多出現一次)

+ 出現一次或多次(至少出現一次)

* 出現零次或多次(任意次)

出現n次

出現n到m次

至少出現n次

5、任意乙個或者範圍

[abc123] : 匹配『abc123』中的任意乙個字元

[a-z0-9] : 匹配a到z或者0到9中的任意乙個字元

6、限制開頭結尾

^ 以緊挨的元素開頭

$ 以緊挨的元素結尾

7、修飾引數:

g: global,全文搜尋,預設搜尋到第乙個結果接停止

i: ingore case,忽略大小寫,預設大小寫敏感

8、常用函式

1、test

用法:正則.test(字串) 匹配成功,就返回真,否則就返回假

2、replace

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

正則預設規則

匹配成功就結束,不會繼續匹配,區分大小寫

var str01 = 'abcdefedcbacef';

var re01 = /c/;

var re02 = /c/g;

var re03 = /c/gi;

var str02 = str01.replace(re01,'*');

var str03 = str01.replace(re02,'*');

var str04 = str01.replace(re03,'*');

alert(str02); // 彈出 ab*defedcbacef

alert(str03); // 彈出 ab*defed*bacef

alert(str04); // 彈出 ab*defed*ba*ef

常用正則規則

//使用者名稱驗證:(數字字母或下劃線6到20位)

var reuser = /^\w$/;

//郵箱驗證:

var remail = /^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z])$/i;

//密碼驗證:

var repass = /^[\w!@#$%^&*]$/;

//手機號碼驗證:

var rephone = /^1[3458]\d$/;

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...