rexexp型別:
1.建立方式:
(1)字面量方式:
var expression=/pattern/flags;
pattern部分可以是任何簡單或者複雜的正規表示式;
flags是3個標誌:
a.g全域性模式,即模式江北應用於所有的字串,而非再發現第乙個匹配項時候立即停止;
b.i不區分大小寫;
c.m多行模式,在到達文字末尾時還會繼續查詢下一行中是否存在與模式匹配的項;
如:/匹配以at結尾的3個字元的組合,不區分大小寫
var pat=/.at/gi;
正規表示式中的元字元:如果想要皮牌字串中包含元字元,都必須進行轉義;
([;(2)rexexp建構函式方式:
var pat=new rexexp('要匹配的字串模式','可選的標誌字串');由於rexexp建構函式的模式引數是字串,所有的元字元應進行雙重轉義;
字面量模式 等價的字串
/\[bc\]at/ '\\[bc\\]at'
/\.at/ '\\.at'
/name\age/ 'name\\/age'
/\d.\d/ '\\d.\\d'
/\w\hello\\123/ '\\w\\hello\\\\123'
使用正規表示式字面量和使用rexexp建構函式建立的的正規表示式不一樣,正規表示式字面量時鐘會共享同乙個rexexp例項,而使用建構函式建立的每乙個新的rexexp例項都是乙個新例項;
如:
1<
script
>
2var
rel=
null;3
for(
vari=0
;i<
10;i++)
7for
(vari=
0;i<
10;i
++)
11script
>
第乙個迴圈體中,只為rexexp只為/cat/建立了乙個rexexp例項,由於例項屬性不會重置,因為在迴圈中再次第哦啊用test()方法就會失敗;因為第一次呼叫已經找到了cat,第二次呼叫是從索引3開始的,所以找不到了,由於測試到了字串的末尾,所以下一次呼叫就從頭開始了;
第二個迴圈體中美音為此迭代都會建立乙個新的rexexp例項,因此每次呼叫test()都會返回true;
二,rexexp的例項屬性:
global:
ignorecase:
lastindex:整數,表示開始搜尋下乙個匹配項的字元位置,從0算起;
multiline:
source:正規表示式的字串表示,按照字面量形式而非傳入建構函式的字串模式返回;
1<
script
>
2var
patten=/
\[bc\]at/i;
3alert(patten.global);
//false
4alert(patten.ignorecase);
//true;
5alert(patten.multiline);
//false
6alert(patten.lastindex);//0
7alert(patten.source);
//\[bc\]at
8script
>
三,rexexp的例項方法:
1.exec('要應用模式的字串');返回包含第乙個匹配項資訊的陣列,或在沒有匹配項的情況下返回null;返回的陣列是array的例項,包含兩個額外屬性:
index:表示匹配項在字串中的位置;
inpt:表示應用正規表示式的字串;
1<
script
>
2var
text='
mom and dad and baby';
3var
pattern=/
mom(and dad(and baby)?)?
/gi;
4var
matches
=pattern.exec(text);
5console.log(matches.index);//0
6console.log(matches.input);
//mom and dad and baby
7console.log(matches[
0]);
//mom
8console.log(matches.input);
//mom and dad and baby
9script
>
2.test()方法:
接收乙個字串引數,在模式與該引數匹配的情況下返回true;
1<
script
>
2var
text='
000-00-0000';
3var
pattern=/
\d-\d-\d/;
4if(pattern.test(text))
7script
>
rexexp例項繼承了toloaclstring()和tostring()方法,都會返回正規表示式的字面量,與建立正規表示式的方式無關;
rexexp的valueof()方法返回正規表示式本身;
正規表示式基礎知識
我們先從簡單的開始。假設你要搜尋乙個包含字元 cat 的字串,搜尋用的正規表示式就是 cat 如果搜尋對大小寫不敏感,單詞 catalog catherine sophisticated 都可以匹配。也就是說 1.1 句點符號 假設你在玩英文拼字遊戲,想要找出三個字母的單詞,而且這些單詞必須以 t ...
正規表示式基礎知識
乙個正規表示式就是由普通字元 例如字元 a 到 z 以及特殊字元 稱為元字元 組成的文字模式。該模式描述在查詢文字主體時待匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。如 jscript vbscript 匹配 t t 匹配乙個空白行。d d d d 驗證乙個i...
正規表示式基礎知識
正規表示式基礎知識 正規表示式是一種可以用於模式匹配和替換的強有力的工具,乙個正規表示式就是由普通的字元 例如字元 a 到 z 以及特殊字元 稱為元字元 組成的文字模式,它描述在查詢文字主體時待匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。正規表示式在字元資料處...