摘要:直接量语法创建对象的语法参数参数是一个字符串,指定了正则表达式的模式或其他正则表达式。方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
直接量语法
/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
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/105337.html
摘要:非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。 导读 你有没有在搜索文本的时候绞尽脑汁, 试了一个又一个表达式, 还是不行. 你有没有在表单验证的时候, 只是做做样子(只要不为空就好), 然后烧香拜佛, 虔诚祈祷, 千万不要出错. 你有没有在使用sed 和 grep 命令的时候, 感觉莫名其妙, 明明应该支持的元字符, 却就是匹配不到. 甚至,...
摘要:拿举例子只想说明你总会在一些阴暗的角落遇到正则表达式,为了到时候不至于一头雾水,我们最好简单的了解一下正则表达式的使用。 为什么要学正则表达式 很多人对正则表达式的认知只是在进行表单验证的时候在网上搜一段正则表达式进行copy,实际工作上好像很难遇到大段的正则表达式 我第一次看到大量的正则使用是在jQuery源码中,当时看的头疼只好草草的看下大概思路不了了之,但是到今天我依然不认为这种...
摘要:想阅读更多优质文章请猛戳博客一年百来篇优质文章等着你正则表达式或用于匹配字符串的各个部分下面是我创建正则表达式的备忘单。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 正则表达式或regex用于匹配字符串的各个部分 下面是我创建正则表达式的备忘单。 匹配正则 使用 .test() 方法 let testString = My test string; let t...
阅读 2630·2019-08-30 15:53
阅读 2869·2019-08-29 16:20
阅读 1079·2019-08-29 15:10
阅读 1017·2019-08-26 10:58
阅读 2187·2019-08-26 10:49
阅读 628·2019-08-26 10:21
阅读 699·2019-08-23 18:30
阅读 1633·2019-08-23 15:58