在 es5 中,regexp
建構函式的引數有兩種情況。
第一種情況是,引數是字串,這時第二個引數表示正規表示式的修飾符(flag)。
第二種情況是,引數是乙個正規表示式,這時會返回乙個原有正規表示式的拷貝。var
regex
=new
regexp
('xyz'
,'i'
);
// 等價於
var
regex
=/xyz/
i;
但是,es5 不允許此時使用第二個引數新增修飾符,否則會報錯。var
regex
=new
regexp
(/xyz/
i);
// 等價於
var
regex
=/xyz/
i;
es6 改變了這種行為。如果var
regex
=new
regexp
(/xyz/
,'i'
);
// uncaught typeerror: cannot supply flags when constructing one regexp from another
regexp
建構函式第乙個引數是乙個正則物件,那麼可以使用第二個引數指定修飾符。而且,返回的正規表示式會忽略原有的正規表示式的修飾符,只使用新指定的修飾符。
上面**中,原有正則物件的修飾符是new
regexp
(/abc/ig,
'i').
flags
// "i"
ig
,它會被第二個引數i
覆蓋。 5 4 3 RegExp建構函式屬性
1 regexp建構函式包含一些屬性,這些屬性適用於作用域中的所有正規表示式,並且基於所執行的最近一次正規表示式操作而變化 2 這些屬性的另乙個獨特之處,就是可以通過2種方式訪問他們,換句話說,這些屬性分別有乙個長屬性和短屬性名 opera不支援短屬性 長屬性名 短屬性名 說明input 最近一次要...
正則的擴充套件 RegExp建構函式
1.regexp建構函式 在es5中,regexp建構函式的引數有兩種情況。第一種情況是,引數是字串,這時第二個引數表示正規表示式的修飾符 flag var regex new regexp xyz i 等價於 var regex xyz i 第二種情況是,引數是乙個正規表示式,這時會返回乙個原有正...
在 ES5 中RegExp建構函式解析
在 es5 中,regexp建構函式的引數有兩種情況。第一種情況是,引數是字串,這時第二個引數表示正規表示式的修飾符 flag 第二種情況是,引數是乙個正規表示式,這時會返回乙個原有正規表示式的拷貝。但是,es5 不允許此時使用第二個引數新增修飾符,否則會報錯。es6 改變了這種行為。如果regex...