兩種書寫方式:
==>字面量形式:var expression = / pattern / flags;
==>正則表達式的方式:var expression = new RegExp("pattern","flags");
==>二者關(guān)系(可以使用字面量來定義的任何表達式,都可以使用構(gòu)造函數(shù)來定義):



模式中使用的所有元字符都必須轉(zhuǎn)義?。?!正則表達式中的元字符包括:
( ?[ ?{ ?\ ?^ ?$ ?| ?) ?? ?* ?+ ?. ?] ?}



轉(zhuǎn)義(這些元字符在正則表達式中都有一或多種特殊用途,因此如果想要匹配字符串中包含的這些字符,就必須對它們進行轉(zhuǎn)義。):



注:正則表達式字面量始終會共享同一個RegExp實例,而使用構(gòu)造函數(shù)來創(chuàng)建的每一個新RegExp實例都是一個新實例。

RegExp實例屬性:(通過這些屬性可以取得有關(guān)模式的各種信息,但卻沒有多大用處,因為這些信息全都包含在模式聲明中)


RegExp實例方法:exec() 和 test()
exec()方法專門為捕獲組而設(shè)計,其包含兩個額外的屬性:index和input。
index表示匹配項在字符串中的位置
input表示應(yīng)用正則表達式的字符串(在捕獲返回的數(shù)組中,第一項是與整個模式匹配的字符串,其他項是與模式中的捕獲組匹配的字符串(如果模式中沒有捕獲組,則該數(shù)組只包含一項,詳見下面圖紅框框部分))




test()接受一個字符串參數(shù)。在模式與該參數(shù)匹配的情況下返回true;否則,返回false。

RegExp實例繼承toLocalString()和toString()方法


RegExp構(gòu)造函數(shù)屬性:





