js的正则表达式
栏目: JavaScript · 发布时间: 5年前
内容简介:直接量语法/pattern/attributes创建 RegExp 对象的语法:
直接量语法
/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"
使用字符串方法
字符串方法 : search() 、 replace()
search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置,只会但会第一个的位置,0开始;如果没有找到任何匹配的子串,则返回 -1。
a.search(b)//0
replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
a.replace(b,'') // "23456789023"
test(yourString):检测一个字符串是否匹配某个模式。该方法将忽略"g"标志和正则对象的lastIndex属性(即总是从开头找起),只要查找到符合模式的字符串即匹配成功。
b.test(a)//true
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。