直接量语法
/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