上次寫了js正則的字面量聲明,今天說說RegExp()構造函數聲明:正則表達式
var p=/cat/g; //字面量聲明
var p=new RegExp('cat','g') //構造函數聲明函數
它兩所表達的意思是同樣的,看看寫法有啥不一樣,一個用 // ; 一個用 「」 ;spa
String支持正則表達式的方法 match():blog
正則表達式方法 exec():字符串
看過我前面寫的字面量聲明的人確定知道使用字面量聲明和構造函數聲明的區別就是表達式不同;其它的都沒改動;下面再說一下重要的一點 \ 其功能是轉義特殊字符flash
var p=/b.t/ //匹配b*t 中間*能夠是任何字符構造函數
var p=/b/.t/ //匹配 b.t 字符串方法
加了 \ 在正則中 . (通配符)就變成了字符串「.」im
在構造函數裏要匹配字符串「\n」 new RegExp("\\\\n","g") 相等於 /\\n/gimg
字符串中 \\ 等於 \ , \\\\n 靠近n的\\表明 \n自己的斜槓,\n的斜槓須要轉義,要加\,可是字符串中要用\\表示 \,全部正則中匹配字符串 \n ,字面量用\\n,而構造函數中用\\\\n
若有不對的地方,請多多指教! ——RLflash