正規表示式

2022-07-29 02:18:14 字數 2635 閱讀 4558

1、正則都是操作字串的

2、正則寫法:

var re=//;

var re=new regexp();

var re=/a/;   var re=new regexp('a');

3、test:正則去匹配字串,如果匹配成功就返回真,否則為假

test的寫法:正則.test(字串);

4、轉義字元:

\n:換行

\r:指表

\t:回車

\s:空格

\s:非空格

\d:數字

\d:非數字

\w:字元  (字母,數字,下劃線)

\w:非字元

. :任意字元

\.:真正的點

\b:獨立部分(是起始或結束或空格才算匹配成功)獨立部分的應用:獲取class元素

\b:非獨立部分

\1:重複的第乙個子項   應用:找重複項最多的字元和個數

\2:重複的第二個子項

例: var str='abc';

var re=/a.c/;

alert(re.test(str));//結果為true

var str='a.c';

var re=/a\.c/;

alert(re.test(str));//結果為true

var str='abc';

var re=/a\.c/;

alert(re.test(str));//結果為false

var str='onetwo';

var re=/\bone/;

alert(re.test(str));//結果為true

var str='onetwo';

var re=/one\b/;

alert(re.test(str));//結果為false

var str='one two';

var re=/one\b/;

alert(re.test(str));//結果為true

var str='onetwo';

var re=/\bone\b/;  

alert(re.test(str));//結果為false 都得滿足才算成功

var str='abca';

var re=/(a)(b)(c)\1/  

alert(re.test(str));// 結果為true

var re=/\w\w/;  如果匹配的字元為cb,結果為true,因為只要兩個都是字元就可以成功

var re=/\w\1/;如果匹配的字元為cb,結果為false,如果匹配cc或bb才會是true,只有前乙個與後乙個相同才為true

5、search:正則去匹配字串,如果匹配成功,就返回匹配成功的位置,如果匹配失敗就返回-1

寫法:字串.search(正則);

6、正則中預設區分大小寫,如果不區分大小寫,則需要在正則最後加標識 i

var re=/b/i;

var re=new regexp('b','i');

7、match:正則去匹配字串,如果匹配成功,就匹配成功的陣列,否則返回null。

正則預設:正則匹配成功就會結束,不會再繼續匹配,如果想全部查詢,就要加標識g(全域性匹配)

量詞:匹配不確定的位置 

+:至少出現1次

寫法:字串.match(正則)

var re=/\d/g;

8、replace:正則去匹配字串,匹配成功的字元去替換成新的字串

replace寫法:字串.replace(正則,想要替換新的字串);

replace的第二個引數可以是字串也可以是**函式

例:var str='aaa';

var re=/a/;  //結果為baa

var re=/a/g;  //結果為bbb

var re=/a+/g;  //結果為b

str=str.replace(re,'b');

9、「|」在正則中表示或的意思

var re=/a|b|c/;

10、匹配子項:小括號()---分組操作   如果把正則整體叫做母親,則小括號裡面的正則交做子項

str.replace(re,function($0,$1,$2)

});alert('最多的字元:'+value+',重複的次數'+index);

}16、量詞: 不確定位置出現的次數

至少出現n次,最多出現m次

至少n次

正好n次

* 任意次    

?零次或1次  

+一次或任意次 

18、^如果寫在正則最開始的位置,代表起始的意思,

$如果寫在正則的最後位置,代表結束的意思

例:查詢qq號

var re=/^[1-9]\d$/; 

如何去掉字串中的前後空格

var re =/^\s+|\s+$/g;

str.replace(re,'');

19、高階表單校驗

匹配中文:[\u4e00-\u9fa5]

行首行尾空格:^\s*|\s*$

email:^\w+@[a-z0-9]+(\.[a-z]+)$

**:[a-za-z]+://[^\s]*

qq號:[1-9][0-9]

身份證:[1-9]\d|[1-9]\d[1-9]\dx

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

非負整數 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正規表示式 編寫正規表示式

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