RegExp 建構函式

2021-08-14 19:43:17 字數 1080 閱讀 8324

在 es5 中,regexp建構函式的引數有兩種情況。

第一種情況是,引數是字串,這時第二個引數表示正規表示式的修飾符(flag)。

var

regex

=new

regexp

('xyz'

,'i'

);

// 等價於

var

regex

=/xyz/

i;

第二種情況是,引數是乙個正規表示式,這時會返回乙個原有正規表示式的拷貝。

var

regex

=new

regexp

(/xyz/

i);

// 等價於

var

regex

=/xyz/

i;

但是,es5 不允許此時使用第二個引數新增修飾符,否則會報錯。

var

regex

=new

regexp

(/xyz/

,'i'

);

// uncaught typeerror: cannot supply flags when constructing one regexp from another

es6 改變了這種行為。如果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...