方法名:str.replace(regexp|substr, newSubStr|function) 作用:返回一个由替换值替换一些或所有匹配的模式后的新字符串
参数详解:
第一个参数可以为正则对象或者字符串字面量 第二个参数可以为一个新字符串也可以为一个函数,该函数返回替换项
a、常见情况:
var str="abcdefg"; var reg=/cd/g; str=str.replace(reg,""); console.log(str); //abefg
b、使用变量名替换特定部位:(注意要替换特定部位的话,在正则对象中要是用括号包裹)
变量为$$的情况:插入用$符号替换正则对象中括号包裹的字符所匹配到的内容
var str="abcdefg"; var reg=/(c)d/g; str=str.replace(reg,"$$d");//这里括号包裹的c被$替换了,然后再替换整个匹配到的cde console.log(str);//ab$defg
变量为$n的情况:插入匹配第n个括号中的字符
var str="abcdefg"; var reg=/(c)d(e)/g; str=str.replace(reg,"$2d$1"); //这里把匹配的第一个内容合第二个内容替换位置($1匹配第一个位置,$2匹配第二个位置),然后再替换整个匹配到的cde console.log(str); //abedcfg
变量为$&的情况:插入被正则对象匹配到的字符
var str="abcdefg"; var reg=/(c)d(e)/g; str=str.replace(reg,"$&d$1$2");//这里在匹配到的d前面插入整个匹配到的字符cde,在d后面插入匹配到的第一个和第二个括号中的内容,然后再替换整个匹配到的cde console.log(str);//abcdedcefg
变量为$`的情况:插入当前匹配的子串左边的内容
var str="abcdefg"; var reg=/(c)d(e)/g; str=str.replace(reg,"d$`");//这里是把匹配到的字符串cde左边内容ab插入到d后面,然后再替换整个匹配到的cde console.log(str);//abdabfg
变量为$"的情况:插入当前匹配的子串右边的内容
var str="abcdefg"; var reg=/(c)d(e)/g; str=str.replace(reg,"d$"");//这里是把匹配到的字符串cde右边内容fg插入到d后面,然后再替换整个匹配到的cde(注意这里的单引号要用双引号包裹) console.log(str);//abdfgfg
替换函数参数详解
变量名 | 代表的值 |
---|---|
match | 匹配的子串。(对应于上述的$&。) |
p1,p2, ... | 类似于上述$1,$2…… |
offset | 匹配到的子字符串在原字符串中的偏移量。(比如,如果原字符串是“abcd”,匹配到的子字符串是“bc”,那么这个参数将是1) |
string | 被匹配的原字符串。 |
var str="xiaoming"; var reg=/(a)o(m)/g; function replacer(match, p1, p2, offset, string) { console.log(match, p1, p2, offset, string);//aom a m 2 xiaoming return [p1, p2].join(" - "); } var newString = str.replace(reg, replacer); console.log(newString); //xia - ming
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/107265.html
摘要:返回值返回值根据传入的参数类型和规则的不同,返回的内容不同,但总体来说,它是返回一个对象,而不是索引,如果没匹配到任何符合条件的字符串,则返回。 本文发布在我的博客一道小小的题目引发对javascript支持正则表达式相关方法的探讨许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。 以前对于正则是非常惧怕的,因为看不懂和学不会。但最近项目中频繁的...
摘要:读这篇文章之前你需要掌握基本的知识,并且有安静舒适的环境与宽裕的时间,文章有点长,你可以选择备好或茶来慢慢学习。文章标题有点夸大了,这是一篇正则表达式的入门文章。如有错误,欢迎指正。 读这篇文章之前你需要掌握基本的JavaScript知识,并且有安静舒适的环境与宽裕的时间,文章有点长,你可以选择备好coffee或茶来慢慢学习。文章标题有点夸大了,这是一篇正则表达式的入门文章。如有错误,...
摘要:元字符是在正则表达式中有特殊含义的非字母字符。五前瞻后顾后瞻正则表达式从文本头部向尾部开始解析,文本尾部方向,称为前。前瞻就是在正则表达式匹配到规则的时候,向前检查是否符合断言,后顾后瞻方向相反。替换与正则表达式匹配的子串。 Regular Expression 使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。按某种规则去匹配符合条件的字符串。不同编程语言的正则表达式略有不同...
摘要:语法参数必填项,字符串或正则表达式,该参数指定的地方分割可选该参数指定返回的数组的最大长度,如果设置了该参数,返回的子字符串不会多于这个参数指定的数组。该数组通过在指定的边界处将字符串分割成子字符串。把正则表达式拆分成小表达式。 正则表达式是什么 RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。 为什么使用正则表达式 测试字符串内的模式。例如,可以测试输入字符串...
阅读 2956·2023-04-25 17:22
阅读 1525·2019-08-30 15:54
阅读 1248·2019-08-30 15:53
阅读 1766·2019-08-30 15:43
阅读 2949·2019-08-29 12:29
阅读 1185·2019-08-26 11:37
阅读 3232·2019-08-23 18:02
阅读 1584·2019-08-23 14:15