正则表达式的replace方法使用详解

这次给大家带来正则表达式replace方法使用详解,使用正则表达式的replace方法的注意事项有哪些,下面就是实战案例,一起来看一下。

replace方法是javascript涉及到正则表达式中较为复杂的一个方法,严格上说应该是string对象的方法。只不过牵扯到正则的时候比较多一些。需要我们灵活的使用。

语法: stringObj.replace(regexp/substr,replacement);

第一个参数:必需。字符串中要替换的子串或正则RexExp;

第二个参数:必需,一个字符串值,规定了替换文本或生成替换文本的函数。

返回值:注意它的返回值是一个新的字符串,并没有更改原有字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

所以根据它的参数的不同分为很多种情况,以下一一对各种情况加以分析:

NO.1 两个参数都是字符串

var str1 = '这是一段原始文本,需要替换的内容"这要替换"!';var newStr = str1.replace('这要替换','need replace');console.log( newStr );  //输出:  这是一段原始文本,需要替换的内容"need replace"!

登录后复制

上面的例子中第二个参数字符串’need replace’,替换掉了第一个参数字符串’这要替换’。这是最简单的一种形式。

NO.2 第一个参数是正则,第二个参数是字符串

var str2 = '这是一段原始文本,需要替换的内容"ac这要替换bb"!';var newStr = str2.replace( /([a-z])+/g,'qqq' );console.log( newStr );  //输出:  这是一段原始文本,需要替换的内容"qqq这要替换qqq"!

登录后复制

上面的例子字符串’qqq’,替换了正则匹配的内容。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。

NO.3 第一个参数是正则,第二个参数是带$符的字符串

var str3 = '这是一段原始文本,"3c这要替换4d"!';var newStr = str3.replace( /([0-9])([a-z])/g,"$1" );console.log( newStr );  //输出:  这是一段原始文本,"3这要替换4"!';

登录后复制

正则表达式的replace方法使用详解

上面的例子,$1表示regexp中的第一个子表示即([0-9])匹配单个数字,同理若是$2则表示第二个子表示即([a-z]);所以,’3c’这个匹配到的整体被第一个子表示说表示的’3’替换,’4d’被第一个子表示匹配的数字’4’所替换。其他几个同理可得:

(/([0-9])([a-z])/g,”$2″)—>////输出: 这是一段原始文本,”c这要替换d”!’; (3c和4d被相应的第二个子表示匹配出来的c和d替换)(/([0-9])([a-z])/g,”$’”)—>////输出: 这是一段原始文本,”这要替换d”!这要替换”!”!’; (3c被3c右侧文本替换,4d右侧是”!替换,所以出现俩次)

NO.4 第一个参数是正则,第二个参数函数

var str4 = '这是一段原始文本,需要替换的内容"aa这要bbb替换ccccc"!';var newStr = str4.replace( /[a-z]+/g,function ($0){  var str = '';  for (var i = 0; i < $0.length; i++) {    str += '*';  };  return str;} );console.log( newStr );  //这是一段原始文本,需要替换的内容"**这要***替换*****"!

登录后复制

上面的例子函数的第一个参数为匹配的regexp的整体,根据长度函数返回值为相应替换的文本;

NO.5 第一个参数是正则且有子表达式,第二个参数函数且带有多个参数

var str5 = '这是一段原始文本,需要替换的内容"3c这要替换4d"!';var newStr = str5.replace( /([0-9])([a-z])/g,function (arg1,arg2,arg3,arg4,arg5){ console.log( arg1 ); console.log( arg2 ); console.log( arg3 ); console.log( arg4 ); console.log( arg5 );} );

登录后复制

输出:

3c
3
c
17
这是一段原始文本,需要替换的内容”3c这要替换4d”!
4d
4
d
23

这是一段原始文本,需要替换的内容”3c这要替换4d”!

上面的例子第一个参数arg1表示匹配的整体,arg2表示第一个子表达式,arg3表示第二个子表达式,接下来的参数arg4是一个整数,声明了表示子匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

使用正则多行模式与单行模式的图文详解

正则的非捕获组与捕获组使用详解

以上就是正则表达式的replace方法使用详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2777933.html

(0)
上一篇 2025年3月8日 15:16:25
下一篇 2025年3月8日 15:16:35

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 正则表达式的grep命令使用详解

    这次给大家带来正则表达式的grep命令使用详解,正则表达式的grep命令使用详解的注意事项有哪些,下面就是实战案例,一起来看一下。 正则表达式是一类用于匹配文本的表达方式,常用于grep命令中表达检索条件。其实就是相当于你在用百度搜索时规定…

    编程技术 2025年3月8日
    200
  • 正则表达式匹配数字的方法(附代码)

    这次给大家带来正则表达式匹配数字的方法(附代码),正则表达式匹配数字的注意事项有哪些,下面就是实战案例,一起来看一下。 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。 匹配中文字符的正则表达…

    编程技术 2025年3月8日
    200
  • 使用正则表达式在js里怎么查找字母与数字

    这次给大家带来使用正则表达式在js里怎么查找字母与数字,使用正则表达式在js里查找字母与数字的注意事项有哪些,下面就是实战案例,一起来看一下。 废话不多说,先看下js中使用正则查找字母和数字的方法,具体代码如下所示: window.onlo…

    编程技术 2025年3月8日
    200
  • 使用正则表达式提取字符串详解(附代码)

    这次给大家带来使用正则表达式提取字符串详解,使用正则表达式提取字符串的注意事项有哪些,下面就是实战案例,一起来看一下。 在JS的正则零宽断言匹配中,只支持前瞻匹配,不支持后瞻。这就尴尬了,因为在业务当中,我们大多时候是知道了要目标数据的前后…

    编程技术 2025年3月8日
    200
  • 正则表达式教程的位置匹配教程(附代码)

    这次给大家带来正则表达式教程的位置匹配教程(附代码),使用正则表达式教程位置匹配的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了正则表达式教程之位置匹配。分享给大家供大家参考,具体如下: 注:在所有例子中正则表达式匹配结果…

    编程技术 2025年3月8日
    200
  • 正则里的子表达式使用详解

    这次给大家带来正则里的子表达式使用详解,正则里子表达式使用的注意事项有哪些,下面就是实战案例,一起来看一下。 注:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java来实现,如果是java本身正则表达式的用法,会…

    编程技术 2025年3月8日
    200
  • 正则的位置匹配使用详解

    这次给大家带来正则的位置匹配使用详解,使用正则位置匹配的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了正则表达式教程之位置匹配。分享给大家供大家参考,具体如下: 注:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间…

    编程技术 2025年3月8日
    200
  • 正则的重复匹配使用详解

    这次给大家带来正则的重复匹配使用详解,正则重复匹配使用的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了正则表达式教程之重复匹配。分享给大家供大家参考,具体如下: 注:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间…

    编程技术 2025年3月8日
    200
  • 正则的元字符使用详解

    这次给大家带来正则的元字符使用详解,正则元字符使用的注意事项有哪些,下面就是实战案例,一起来看一下。 注:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用Java来实现,如果是java本身正则表达式的用法,会在相应的…

    编程技术 2025年3月8日
    200
  • 正则的操作符使用详解

    这次给大家带来正则的操作符使用详解,使用正则操作符的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了正则表达式中的操作符及说明。分享给大家供大家参考,具体如下: 一、普通字符 包括所有未显式指定为元字符的打印和非打印字符组成…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论