replace 方法

以下是javascript 中的例子

下面的示例演示了 replace 方法将第一次出现的单词 "The" 替换为单词 "A" 的用法。

function ReplaceDemo(){
   var r, re;                    // 声明变量。
   var ss = "The man hit the ball with the bat.\n";
   ss += "while the fielder caught the ball with the glove.";
   re = /The/g;             // 创建正则表达式模式。
   r = ss.replace(re, "A");    // 用 "A" 替换 "The" 。
   return(r);                   // 返回替换后的字符串。
}

另外, replace 方法也可以替换模式中的子表达式。 下面的范例演示了交换字符串中的每一对单词:

function ReplaceDemo(){
   var r, re;                      // 声明变量。
   var ss = "The rain in Spain falls mainly in the plain.";
   re = /(\S+)(\s+)(\S+)/g;        // 创建正则表达式模式。
   r = ss.replace(re, "$3$2$1");   // 交换每一对单词。
   return(r);                      // 返回结果字符串。
}

下面的示例(在 JScript 5.5 及更新版本中执行)执行的是从华氏到摄氏的转换,它演示了使用函数作为 replaceText 。要想知道该函数是如何工作的,传递一个包含数值的字符串,数值后要紧跟 "F" (例如 "Water boils at 212" )。

function f2c(s) {
  var test = /(\d+(\.\d*)?)F\b/g;    // 初始化模式。
  return(s.replace
    (test,
      function($0,$1,$2) {
        return((($1-32) * 5/9) + "C");
      }
    )
  );

}
document.write(f2c("Water freezes at 32F and boils at 212F."));

重点就是第三个例子了

1. 在一些网站上搜索文章的时候,会发现这么一个现象,就是搜索的关键字会高亮改变颜色显示出来??这是怎么实现的呢??其实我们可以用正则表达式来实现,具体怎么样实现呢?简单的原理请看下面的代码

<script language="javascript">
var str=" 中华人民共和国,中华人民共和国";
var newstr=str.replace(/( 人)/g,"<font color=red>$1</font>");
document.write(newstr);
</script>

2.<script language="javascript">
var reg=new RegExp("\\d","g");
var str="abd1afa4sdf";
str.replace(reg,function(){alert(arguments.length);});
</script>

我们惊奇的发现,匿名函数竟然被执行了二次,并且在函数里还带有三个参数
,为什么会执行二次呢??这个很容易想到,因为我们写的正则表达式是匹配单个数字的,而被检测的字符串刚好也有二个数字,故匿名函数被执行了二次。。在匿名函数内部的那三个参数到底是什么内容呢?

最终我们会发现: 前面参数表示匹配到的字符,倒数第二个参数表示匹配时的字符最小索引位置(RegExp.index) ,倒数第一个参数表示被匹配的字符串(RegExp.input) 。其实这些参数的个数,还会随着子匹配的变多而变多的。

也就是说我们可以这样理解javascript 文档中的$0,$1,$2 只是形参, 实参是由正则表达式写好的, 即使我们写成a,b,c, 它运行时所具有的值的仍然是 $0,$1,$2.

javascript中replace的正则表达式语法相关推荐

  1. javascript中replace使用方法总结

    这篇文章主要为大家详细介绍了javascript中replace的使用方法,使用replace和正则表达式共同实现字符串trim方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ECMAScri ...

  2. 第179天:javascript中replace使用总结

    ECMAScript提供了replace()方法.这个方法接收两个参数,第一个参数可以是一个RegExp对象或者一个字符串,第二个参数可以是一个字符串或者一个函数.现在我们来详细讲解可能出现的几种情况 ...

  3. JavaScript中replace

    replace的语法('替换的元素','替换的新元素') 可是使用replace能够实现单个的替换,如果多个替换,还需要加入while语句 看代码 var str = 'qqwqqMMeewrMMop ...

  4. JavaScript的replace方法与正则表达式结合应用讲解

    大家好!!今晚在华软G43*宿舍没什么事做,把javascript中replace方法讲解一下,如果讲得不对或不合理是情理之中的事,因为我不是老鸟,也不是菜鸟,我也不知道我当底是什么鸟??呵~~ re ...

  5. javascript中的正则表达式学习

    一.前言 关于正则表达式自身的语法这里不做过多介绍(详情可参见http://www.php100.com/manual/unze.html),这里仅仅解释javascript中和正则表达式相关的几个方 ...

  6. 详解Javascript中正则表达式的使用

    章节目录 Javascript中正则表达式的使用 String.prototype.search方法 String.prototype.replace方法 String.prototype.split ...

  7. JavaScript 函数replace揭秘

    2019独角兽企业重金招聘Python工程师标准>>> 在JavaScript中replace函数作为字符串替换函数,这是一个威力强大的字符串操作函数,对于常见字符串操作的推荐用法. ...

  8. JavaScript:学习笔记(3)——正则表达式的应用

    JavaScript:正则表达式的应用 应用正则表达式对象RegExp 创建正则表达式 JavaScript中使用RegExp对象来表述一个正则表达式.使用正则表达式之前首先要创建一个RegExp对象 ...

  9. php的正则表达式函数,php中常用的正则表达式函数

    php中常用的正则表达式函数 * preg_match() * preg_match_all() * preg_replace() * preg_filter() * preg_grep() * pr ...

  10. 在JavaScript中没有二维数组的概念

    在编写WebClinet端脚本时有时需要用到数组进行操作,javascript中声明数组的语法为 Dim 变量 = new Array(); 需要注意的是,在javascript中没有二维数组的概念, ...

最新文章

  1. F5发布最新文件虚拟化存储产品ARX 4000
  2. 目标跟踪算法五:MDNet: Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
  3. ArcGIS For JavaScript API 默认参数
  4. SAP内部订单的作用
  5. Upma Xmac 测试 03
  6. [ECMAScript] 说说你对class的理解
  7. Maven--反应堆(Reactor)
  8. 疑问:当流量被封禁之后(论资本之力):防流量被恶意盗挖(抛砖篇)
  9. SqlServer 更新/新增一条语句,返回其中某一列的值 inserted,@@IDENTITY()
  10. [Java] 蓝桥杯ALGO-58 算法训练 字串逆序
  11. hdu1133-----递推+大数
  12. catia设计树_CATIA目录树节点管理 | 坐倚北风
  13. 【BP预测】基于BP神经网络实现混凝土强度预测含Matlab源码
  14. VS2017离线下载安装包教程
  15. 节点数对5层网络迭代次数的影响
  16. 计算机cpu的功能和作用是什么意思,什么是中央处理器CPU
  17. 天津办理食品经营许可证的要求和材料
  18. 水处理离子交换设备详解
  19. 渗透测试流程 - 渗透测试的9个步骤
  20. 一分钟搞明白什么是维度,什么是事实,什么是度量,什么是粒度

热门文章

  1. Landsat9卫星简介
  2. 湖泊的水色、水环境、水文遥感的区别
  3. 高分四号(GF4)——预处理(辐射定标、大气校正、正射校正、图像配准)
  4. 算法笔记-------基数排序
  5. HDFS分布式文件系统知识总结
  6. JavaSE学习--正则表达式
  7. Android架构MVC,MVP与MVVM及MVPVM对比分析
  8. Java基础---Java---IO流-----BufferedReader、BufferedWriter、缓冲区、装饰设计模式及和继承的区别
  9. 比豆二机器人好的机器人_电话机器人:电话机器人哪家好?选择电话机器人的标准是什么?...
  10. 乐安全 支持x86_android-x86-4.4-r2运行程序总是停止运行怎么处理