正規表示式RegExp詳解 待續

2022-05-03 04:24:11 字數 2250 閱讀 2895

正規表示式(regular expression)是一種描述字元模式的物件,regexp 物件表示正規表示式,用來驗證使用者輸入。

一,建立正規表示式

1,採用new運算子 

var bb=new regexp('引數字串','可選模式修飾符')

2,字面量法

var bb=/引數字串/可選模式修飾符;

模式修飾符引數

i 忽略大小寫

g 全域性匹配

m 多行匹配

二,regexp相關方法

test()在字串中查詢指定正規表示式,返回true或false

exec()在字串中查詢指定正規表示式,成功返回包含該查詢字串的相關資訊陣列,執行失敗則返回null

var pattern = new regexp('box','i'); //建立正規表示式,不區分大小寫,等效於var pattern=/box/i

var str ='this is a box';

document.write(pattern.test(str));//true

document.write(pattern.exec(str));//box

//使用一條語句 document.write(/box/i.test('this is a box'));

三,字串的正規表示式方法

1.match(pattern)返回pattern中的子串或null

例var pattern = new regexp('box','ig');

var str ='this is a box,tah is a box too';

document.write(str.match(pattern));//box,box

document.write(str.match(pattern).length);//2

2.replace(pattern,'replacement')用replacement替換pattern

例var pattern = new regexp('box','ig');

var str ='this is a box,tah is a box too';

document.write(str.replace(pattern,'oo'));//this is a oo,tah is a oo too

3.search(pattern)返回字串中pattern開始位置

例var pattern = new regexp('box','i');

var str ='this is a box,tah is a box too';

document.write(str.search(pattern));//10找到就返回,不需要g

split(pattern)返回字串按指定的pattern拆分的陣列

var pattern = new regexp(' ','i');

var str ='this is a box,tah is a box too';

document.write(str.split(pattern));//this,is,a,box,tah,is,a,box,too

四,正規表示式元字元

元字元是包含特殊含義的字元,可以控制匹配模式的方式

1.單個字元和數字

. 除換行符以外的任何字元

[a-z0-9]匹配括號中字符集中的任意字元

[^a-z0-9]匹配不在括號中的任意字元

\d 匹配數字

\d 匹配非數字,同[^1-9]

\w匹配字母和數字及_

\w匹配非字母和數字及_

2.空白字元

\0 匹配null字元

\b 匹配空格字元

3.錨字元

^行首匹配

$行尾匹配

\a 只有匹配字串開始處

\b匹配單詞邊界,詞在內時無效

\b匹配非單詞邊界

\g匹配當前搜尋的開始位置

\z匹配字串結束處或行尾

\z只匹配字串結尾處

4.重複字元

x? 匹配乙個或0個x

x*匹配0個或任意多個x

x+匹配至少乙個x

(xyz)+匹配至少乙個(xyz)

x匹配最少m個,最多n個

5.替代字元

this|where|logo 匹配this或where或logo中任意乙個

6.記錄字元

(string) 用於反向引用的分組

\1或$1 \2或$2 \3或$3 匹配第n個分組中的內容

RegExp正規表示式

什麼是 regexp?regexp 是正規表示式的縮寫。當您檢索某個文字時,可以使用一種模式來描述要檢索的內容。regexp 就是這種模式。簡單的模式可以是乙個單獨的字元。更複雜的模式包括了更多的字元,並可用於解析 格式檢查 替換等等。您可以規定字串中的檢索位置,以及要檢索的字元型別,等等。var ...

正規表示式 RegExp()

字串處理 split 分割字串 charat 0 提取某個字元 substring 1,5 獲取字串 search a 返回位子,否則 1 正規表示式 字串匹配工具 str.match d g 所有匹配以陣列的形式返回 風格 風格 var re new regexp a var str abcdef...

正規表示式REGEXP

正規表示式 regular expression,regexp 元字元 匹配任意單個字元 匹配指定範圍內的任意單個字元 匹配指定範圍外的任意單個字元 字元集合 digit lower upper punct space alpha alnum 匹配次數 貪婪模式 匹配其前面的字元任意次 a,b,ab...