正規表示式

2021-10-01 09:24:42 字數 4524 閱讀 2520

正規表示式,又稱規則表示式。(英語:regular

expression,在**中常簡寫為regex、regexp或re),電腦科學的乙個概念。正規表示式通常被用來檢索、替換那些符合某個模式(規則)的文字。

//判斷字串中是否含有數字

for(

var i =

0; i < str1.length; i++)}

// 使用正規表示式判斷是否含有數字

var reg =

/\d/

; console.

log(reg.

test

(str1)

, str1.

match

(reg)

)

1.字串分為兩種

a.普通字元(元字元之外的字元)

b.元字元,含有特殊意義的字元

+ - * ? [ ] < > <= = 等

2.js中使用正規表示式的前提是必須有正規表示式物件

建立正規表示式物件

兩種方式:

1>使用new例項化正規表示式

new regexp(引數1,引數2);

引數都是字串

引數1 設定匹配原則,匹配的條件

引數2 設定匹配屬性,該引數可選,可填寫:

i 忽略大小寫

g 全域性匹配,結合match使用,預設檢索的時候只會找到第乙個匹配的字串,就返回並結束,如果加上g就返回全域性匹配的字串

text()方法

他是正規表示式物件中的函式

使用方法

reg.test(字串) 判斷字串是否滿足設定的條件,返回的是乙個boolean值

var str2 =

'abc56we'

;var reg1 =

newregexp

('abc'

,'i');

console.

log(reg1.

test

(str2)

)

**2>** 直接宣告正規表示式物件

var reg = /匹配條件/匹配屬性(可選);

此處的匹配條件和匹配屬性都不加引號,也就是都不能寫成字串

var reg2 =

/abc/i

; console.

log(reg2.

test

(str2));

var str3 =

'my god!'

;var reg3 =

/!/;

console.

log(reg3.

test

(str3));

var str4 =

'生當作人傑'

;var reg4 =

/當/;

console.

log(reg4.

test

(str4)

);

\n 換行符

\t 製表符

\r 回車符

\d 代表數字0-9

\d 代表非數字,也就是對\d的取反

\s 空白符(包含了 空格,換行符,製表符,回車符)

\s 代表非空白符,也就是對\s的取反

\w 代表字元(字母(a-z,a-z),數字(0-9),下劃線_)不包含漢字以及特殊字元

\w 代表非字元,對\w進行取反

. 代表了\n \r 之外的任意乙個字元

量詞

如果設定匹配規則的時候沒有新增量詞則僅僅匹配乙個

* 個數 >=0 eg: \d*

+ 個數》=1 eg: \d+

? 個數只能為0個或者為1個

表示個數是n個

表示個數為n到m個

表示個數》=1 等同於 +

表示個數為0個或者為1個 等同於?

var str5 =

`私以 為鬼才`

;var reg5 =

/\t/

; console.

log(reg5.

test

(str5));

var str6 =

'至今 思項羽'

;var reg6 =

/\s/

; console.

log(reg6.

test

(str6));

//量詞測試

var str7 =

'asdf1235343545sdf'

;var reg7 =

/\d/

; console.

log(

'數字'

+reg7.

test

(str7));

var reg8 =

/\d+/

;//表示至少有乙個數字

console.

log(

'數字'

+reg8.

test

(str7)

);

[ ] 匹配括號**現的字元

[^] 表示字串中不能出現括號內的內容,用來判斷字串中有沒有除字串以內的內容,^符號必須在開頭位置,如果放在其他位置,他就是乙個普通字元 eg [^\d] 等同於 \d

var txt = document.

getelementbyid

("txt");

var btn = document.

getelementbyid

("btn");

btn.

onclick

=function()

$/;if(reg.

test

(val)

)else

}var txt1 = document.

getelementbyid

("txt1");

var btn1 = document.

getelementbyid

("btn1");

btn1.

onclick

=function()

\d/;

if(reg.

test

(val)

)else

};

— 一般結合匹配字元使用

a-z:匹配小寫的英文本母

a-z:匹配小寫的英文本母

0-9:匹配所有的數字

漢字的範圍

\u4e00 - \u9fa5

var str9 =

'aa五星紅旗aa'

;var reg9 =

/aa[\u4e00-\u9fa5]/

; console.

log(

'五星紅旗'

+reg9.

test

(str9));

var str10 =

'12asdf45'

;var reg10 =

/\d+[a-z]+/

; console.

log(

'12asdf45'

+reg10.

test

(str10)

);

^ 指定字串的開始位置

$ 指定字串的結束位置

\b 指代字串中 單詞的邊界 \b\w+\b 第乙個\b代表的是單詞的左邊界,第二個\b代表的是單詞的右邊界

var str11 =

'13512345678'

;var reg11 =

/^1[345678][0-9]$/

; console.

log(reg11.

test

(str11)

?'是手機號'

:'不是手機號'

);

|:選擇符

可以選擇|前面或者後面的部分

(): 把括號中的內容進行分組

var str12 =

'aa王者榮耀aa'

;var reg12 =

/(aa|bb|cc)/

; console.

log(reg12.

test

(str12));

var arr=

['三國演義'

,'孫悟空大戰奧特曼'

,'sun'

,'ring'

,'girl'

,'水滸傳'];

var reg0 =

/[\u4e00-\u9fa5]+/

;for

(var i=

0;i)}

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

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

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