直接量語法
/pattern/attributes
創建 RegExp 對象的語法:
new RegExp(pattern, attributes);
參數
參數 pattern 是一個字符串,指定了正則表達式的模式或其他正則表達式。
參數 attributes 是一個可選的字符串,包含屬性 "g"、"i" 和 "m",分別用於指定全局匹配、區分大小寫的匹配和多行匹配。ECMAScript 標準化之前,不支持 m 屬性。如果 pattern 是正則表達式,而不是字符串,則必須省略該參數。
返回值
一個新的 RegExp 對象,具有指定的模式和標誌。如果參數 pattern 是正則表達式而不是字符串,那麼 RegExp() 構造函數將用與指定的 RegExp 相同的模式和標誌創建一個新的 RegExp 對象。
如果不用 new 運算符,而將 RegExp() 作爲函數調用,那麼它的行爲與用 new 運算符調用時一樣,只是當 pattern 是正則表達式時,它只返回 pattern,而不再創建一個新的 RegExp 對象。
let a = '1234567890123';
let b = /1/g; // 這個纔是標準
// 等於 b = new RegExp(/1/, 'g') // 這個也是標準,下面沒報錯,但不推薦
// 等於 b = new RegExp(/1/g)
// 等於 b = RegExp(/1/g)
// 等於 b = RegExp(/1/, 'g')
a.replace(b,'') // "23456789023"
使用字符串方法
字符串方法 : str.search(regular) 、str.replace(regular)、regular.test(str)
search() 方法 用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串,並返回子串的起始位置,只會但會第一個的位置,0開始;如果沒有找到任何匹配的子串,則返回 -1。
a.search(b)//0
replace() 方法 用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。
a.replace(b,'') // "23456789023"
test(yourString):檢測一個字符串是否匹配某個模式。該方法將忽略"g"標誌和正則對象的lastIndex屬性(即總是從開頭找起),只要查找到符合模式的字符串即匹配成功。
b.test(a)//true