正则 表达式(替换)// 引用

replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串。。为了帮助大家更好的理解,下面举个简单例子说明一下

Js代码

1.    <script language="javascript">   

2.    var stringObj="终古人民共和国,终古人民";   

3.      

4.    //替换错别字“终古”为“中国”   

5.    //并返回替换后的新字符   

6.    //原字符串stringObj的值没有改变   

7.    var newstr=stringObj.replace("终古","中国");   

8.    alert(newstr);   

9.    </script>

  

终古”为“中国”

的值没有改变

中国");

比我聪明的你,看完上面的例子之后,会发现第二个错别字“终古”并没有被替换成“中国”,我们可以执行二次replace方法把第二个错别字“终古”也替换掉,程序经过改进之后如下:

Js代码

1.    <script language="javascript">   

2.    var stringObj="终古人民共和国,终古人民";   

3.      

4.    //替换错别字“终古”为“中国”   

5.    //并返回替换后的新字符   

6.    //原字符串stringObj的值没有改变   

7.    var newstr=stringObj.replace("终古","中国");   

8.      

9.    newstr=newstr.replace("终古","中国");   

10. alert(newstr);   

11. </script>

  

终古”为“中国”

的值没有改变

中国");

中国");

我们可以仔细的想一下,如果有N的N次方个错别字,是不是也要执行N的N次方replace方法来替换掉错别字呢??呵,不用怕,有了正则表达式之后不用一个错别字要执行一次replace方法。。程序经过改进之后的代码如下

Js代码

1.    <script language="javascript">   

2.    var reg=new RegExp("终古","g"); //创建正则RegExp对象   

3.    var stringObj="终古人民共和国,终古人民";   

4.    var newstr=stringObj.replace(reg,"中国");   

5.    alert(newstr);   

6.    </script>

  

创建正则RegExp对象

上面讲的是replace方法最简单的应用,不知道大家有没有看懂??下面开始讲稍微复杂一点的应用。。

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

Js代码

上面的程序缺少互动性,我们再改进一下程序,实现可以自主输入要查找的字符

Js代码

1.    <script language="javascript">

2.    var s=prompt("请

1.    <script language="javascript">   

2.    var str="中华人民共和国,中华人民共和国";   

3.    var newstr=str.replace(/(人)/g,"<font color=red>$1</font>");   

4.    document.write(newstr);   

5.    </script>

  

输入在查找的字符","人");

3.    var reg=new RegExp("("+s+")","g");   

4.    var str="中华人民共和国,中华人民共和国";   

5.    var newstr=str.replace(reg,"<font color=red>$1</font>");   

6.    document.write(newstr);   

7.    </script>

  

人");

  可能大家都会对$1这个特殊字符表示什么意思不是很理解,其实$1表示的就是左边表达式中括号内的字符,即第一个子匹配,同理可得$2表示第二个子匹配。。什么是子匹配呢??通俗点讲,就是左边每一个括号是第一个字匹配,第二个括号是第二个子匹配。。

   当我们要把查找到的字符进行运算的时候,怎么样实现呢??在实现之前,我们先讲一下怎么样获取某一个函数的参数。。在函数Function的内部,有一个arguments集合,这个集合存储了当前函数的所有参数,通过arguments可以获取到函数的所有参数,为了大家理解,请看下面的代码

Js代码

1.    <script language="javascript">   

2.    function test(){   

3.       alert("参数个数:"+arguments.length);   

4.       alert("每一个参数的值:"+arguments[0]);   

5.       alert("第二个参数的值"+arguments[1]);   

6.      //可以用for循环读取所有的参数   

7.    }   

8.      

9.    test("aa","bb","cc");   

10. </script>  

alert("

alert("

alert("

//循环读取所有的参数

  

看懂上面的程序之后,我们再来看下面一个有趣的程序

Js代码

1.    <script language="javascript">   

2.    var reg=new RegExp("\\d","g");   

3.    var str="abd1afa4sdf";   

4.    str.replace(reg,function(){alert(arguments.length);});   

5.    </script>

  

时间: 2024-11-05 06:34:08

正则 表达式(替换)// 引用的相关文章

PHP用正则批量替换Img中src内容,用正则表达式获取图片路径实现缩略图功能

PHP用正则批量替换Img中src内容,用正则表达式获取图片路径实现缩略图功能 网上很多正则表达式只能获取或者替换一个img的src内容,或者只能替换固定的字符串,要动态替换多个图片内容的试了几个小时才解决. /*** 图片地址替换成压缩URL* @param string $content 内容* @param string $suffix 后缀*/function get_img_thumb_url($content="",$suffix="!c550x260.jpg&q

PHP正则匹配替换图片地址

网上能找到很多匹配图片src的正则表达式和替换的实例,都是然并卵,不能马上解决问题. 只是要找到src里的那一段给替换掉就行了. 给一段内容: $content = '<img src="http://www.domainname.com/600_0_100_1/1439035192.4102/1e45426fe3d5410eedd45a82d9a0aead.jpg" rel="12375880" />'; 正则匹配替换:preg_replace(&qu

正则 表达式速查表

脚本之家首页正则表达式速查表 正则表达式30分钟入门教程 | 常用正则表达式 | 正则表达式测试工具 | 正则表达式 | 正则练习器在线版 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个向后引用.或一个八进制转义符.例如,“n"匹配字符"n"."\n"匹配一个换行符.串行"\\"匹配"\"而"\("则匹配"(". ^ 匹配输入字符串的开始位置.如果设置了

利用EL表达式替换回车符

后台数据库中数据格式: 要在页面以如下格式显示,即分号一换行: 首先想到在action中利用replaceAll来替换,于是写出如下代码: userlist.setPubmedmesh(rs.getString("mesh").repalceAll(";","</br>")); 但是试验后发现不行,于是想到利用EL表达式来完成替换. 首先在session中存储该字段: ActionContext.getContext().getSes

php 常用 正则 表达式 匹配 符号 解释

常用正则表达式全部符号解释 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 向后引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配 "\" 而 "\(" 则匹配 "(". ^ 匹配输入字符串的开始位置.如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置. $ 匹配输入字符串的结束位置.如果设置了

2018.4.26 六周第二次课 (正则sed 替换)

sed工具介绍(替换.及替换指定的字符) sed介绍:sed工具主要是替换的文本输出到屏幕上,而且还有其他更丰富的功能.sed命令格式:sed -n 'n' p filename,单引号内的n是一个数字,表示几行.-n选项的作用就是只显示我们要打印的行,无关紧要的内容不显示. 创建一个sed目录,把passwd文件拷贝进来,方便后面学习. [[email protected] ~]# mkdir sed #创建一个目录 [[email protected] ~]# cd sed/ #进入到目录s

python 字符串替换、正则查找替换

import re if __name__ == "__main__": url = " \n deded<a href = "">这是第一个链接</a><a href = "">这是第二个链接</a> \n " # 去除\n one = url.replace("\n", "") # 去掉两端空格 two = one.strip() #

Python_Example_常用正则&amp;&amp;表达式符号

Author: 楚格 IDE: Pycharm2018.02   Python 3.7 KeyWord :  RE Explain: 思路: 1------------------------------------------------------------------------------------------------------------------ 1 '.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 2 '^' 匹配字符开头

jdk1.8新特性Lambda表达式方法引用

前言 在之前我们接触了JDK1.8引入的新特新lambda表达式没在某种程度上,它可以简化我们的代码,帮助我们快速的编写代码,但在这其中我们之前的编写方式并不是lambda表达式最简洁的方式,而在头屑情况下我们可以使用lambda表达式的方法引用是代码进一步简洁化. 一.方法引用: 在java中方法引用主要是用来替代lambda表达式进一步简化代码,方法引用符号的写法是两个冒号“::”,其中方法引用的用法有一下几种. 1.对象名称::成员方法 如果一个对象中有一个成员方法,就好就是lambda表