JavaScript中replace()和match()方法

rmatch方法实例:

javascript 复制代码
<script>
    var str="Windows是非常优秀的系统,我喜欢Windows!";
    //这一行定义了一个名为str的变量,并赋值为一个包含特定字符串的字面量。这个字符串使我们要进行匹配操作的目标字符串。
    var reg = /windows/gi ;
    //这一行定义了一个名为reg的变量,并赋值为一个正则表达式字面量/windows/gi。其中/windows/是要匹配模式,gi是正则表达式的标志,g表示全局变量i表示忽略大小写。
	var found = str.match(reg);
    //这一行使用字符串的独享match()方法,通过传入reg正则表达式来查找匹配的字符串。找到的结果将会存储在found变量中
    alert(found);
    //这一行使用alert()方法弹出一个包含found变量的提示框,以便显示匹配的结果。在这个例子,found变量是一个数组,包含所有匹配正则表达式/windows/gi的结果
</script>

输出:windows,windows!

replace方法实例:

javascript 复制代码
<script>
    var str="Windows是非常优秀的系统,我喜欢Windows!";
		var reg = /windows/gi ;		
		var tmp = str.replace(reg,"Linux");
        //这一行运用了字符串对象replace()方法,通过传入reg正则表达式和替换的字符串"Linux"来执行替换操作,替换后的结果将会存储在tmp变量中
		alert(tmp);
        //这一行使用alert()方法弹出一个包含tmp变量的提示框,以便显示替换后的字符串
</script>

输出结果:Linux是非常优秀的系统,我喜欢Linux!

两者比较:

match 方法:

match() 方法用于在字符串中执行正则表达式搜索,并返回一个包含匹配结果的数组。

如果找到了匹配项,返回一个数组,数组的第一个元素是整个匹配的字符串,其余的元素是与正则表达式中的捕获组匹配的字符串(如果有的话)。

如果没有找到匹配项,返回值为 null。

match()方法例子中,found 变量将会是一个数组,包含所有与正则表达式 /windows/gi 匹配的结果。因为设置了全局匹配标志 g,所以返回的数组中会包含所有匹配项,不受替换的影响。

replace 方法:

replace() 方法用于在字符串中查找匹配的子串,然后用指定的字符串或者函数替换它。

如果第一个参数是一个字符串,那么只会替换第一个匹配项。

如果第一个参数是一个正则表达式,并且设置了全局匹配标志 g,则会替换所有匹配项。

replace() 方法将会查找字符串中所有匹配正则表达式 /windows/gi 的部分,并用 "Linux" 字符串替换它们。替换后的结果将会存储在 tmp 变量中,并通过弹出对话框显示出来。

所以,主要区别在于 match() 返回匹配结果的数组,而 replace() 则返回替换后的字符串。

相关推荐
脏脏a17 分钟前
延迟与画质:远程控制的生命线
开发语言·php
WebInfra24 分钟前
Rspack 2.3 发布:联手 SWC 团队带来全新编译器
前端·javascript·github
像风一样的男人@1 小时前
python --基于scp的文件传输助手
开发语言·python
一条破秋裤1 小时前
SDIO Wi‑Fi 设备的驱动向insmod + 反向rmmod
开发语言·php
m0_639906941 小时前
Java 重写 Override 与重载 Overload 区别、访问修饰符、static 关键字
java·开发语言
Evand J1 小时前
【MATLAB例程】平面下,5基站对待定位点的定位。基于距离辅助下的AOA。完整代码下载链接
开发语言·matlab·平面·定位·导航·测距·aoa
GIS数据转换器1 小时前
基于CIM的城市智慧供热监管服务平台
java·大数据·开发语言·人工智能·后端·物联网·struts
weixin_417396831 小时前
星级酒店境外电视频道怎么合法接入?合规要点与核对清单
开发语言·前端·php·1024程序员节·综合布线
熊猫钓鱼>_>2 小时前
鸿蒙PC构建实战:hvigor modelVersion 降级 + schema 清理 + ArkTS 编译三连坑完整复盘
开发语言·华为·ai编程·harmonyos·openharmony·数据·ai生成
FRing032 小时前
JavaScript入门到精通三十一(原型继承、原型链)
开发语言·前端·javascript