test,exec,match,replace方法区别 正则

这四种方法都是用来检测字符串是否包含某一子串或是否匹配否个正则表达式

test方法,匹配返回true,不匹配返回false

match,匹配返回匹配到的数组(包含多次/g),匹配一次返回包含匹配子串的数组,具体看下面例子,没有匹配到返回null

replace,查找替换,两个参数,第一个参数查找的内容,可以是字符串或正则表达式,第二个参数(字符串,$1...$10,函数),用第二个参数替换第一个参数

exec,匹配返回匹配值,不匹配返回null

var str=‘aa-bb-cc‘
var reg=/\w{2}/g
var reg2=/\w{3}/g

reg.test(str)  //truereg2.test(str) //false

str.match(reg) // (3) ["aa", "bb", "cc"]str.match(/\w{2}/)  //["aa", index: 0, input: "aa-bb-cc", groups: undefined] 一次匹配str.match(reg2) //null

reg.exec(str)    //["aa", index: 0, input: "aa-bb-cc", groups: undefined]reg2.exec(str)    //null

// 用replace实现首字母大写str.replace(/(^\w|\-\w)/g,function($1){return $1.toUpperCase()})   //"Aa-Bb-Cc"

一定要亲自试验一下  可以很快理解

原文地址:https://www.cnblogs.com/bais/p/9168988.html

时间: 2024-10-13 16:25:07

test,exec,match,replace方法区别 正则的相关文章

js通过replace()方法配合正则去除空格

<script> //去掉全部空格 var str = " 546546 4564 46 46 88 88 "; var str = str.replace(/\s+/g,"");//生成新的字符串,并未对原字符串修改 console.log(str); //去掉左空格 var str1 = " 546546 4564 46 46 88 88 "; var str1 = str1.replace(/^\s*/,""

js正则表达式中test,exec,match方法的区别说明

test  test 返回 Boolean,查找对应的字符串中是否存在模式.var str = "1a1b1c";var reg = new RegExp("1.", "");alert(reg.test(str)); // true exec exec 查找并返回当前的匹配结果,并以数组的形式返回.var str = "1a1b1c";var reg = new RegExp("1.", "&q

js 正则表达式 test match exec三个方法的异同

方法 match exec test 调用方法 str.match(reg) reg.exec(str) reg.test(str) 说明 如果正则式为全局匹配,则返回所有匹配的字符串,但是当有子表达式时,不匹配子表达式,只执行全局匹配 如果正则式为全局匹配,只返回存在的第一个匹配结果,但是当有子表达式时,返回值不仅有全局匹配,还匹配子表达式 在使用 "g" 参数时,exec() 的工作原理如下: 找到第一个 "e",并存储其位置 如果再次运行 exec(),则从存

js正则表达式test方法、exec方法与字符串search方法区别

1.正则表达式test方法 test() 方法用于检测一个字符串是否匹配某个模式 返回值: 如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false. 2.正则表达式exec方法 exec() 方法用于检索字符串中的正则表达式的匹配. 返回值:返回一个数组,其中存放匹配的结果.如果未找到匹配,则返回值为 null. 3.字符串search方法 search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串. 返回值

[转]window.location方法获取URL及window.location.assign(url)和replace(url)区别

本文转自:http://blog.csdn.net/chendi1985/article/details/5291773 window.location方法获取URL 统一资源定位符 (Uniform Resource Locator, URL) 完整的URL由这几个部分构成: scheme://host:port/path?query#fragment scheme:通信协议 常用的http,ftp,maito等 host:主机 服务器(计算机)域名系统 (DNS) 主机名或 IP 地址. p

js string方法中的match,replace和search方法

match中也可用正则 返回的是数组 var str="i love you,  i love you"; str.match(/love/);//只返回一个love str.match(/love/g);//  /love/g后面的g是全局匹配,这时就返回两个love的数组 同理 str.replace(/love/g,"hate");//把全部love换成hate ,区分大小写(/love/g) str.replace(/love/gi,"hate&q

正则匹配之replace方法

在我印象中,replace方法就是一个正则匹配,然后一股脑的替换掉匹配到的内容的一个方法. 在一次任务需求中,有这么一个需求,一行字符串里面,替换相应字符串,具体就是匹配到'A'然后把'A'替换成'a', 匹配到'B'然后把'B'替换成b 这个就有点尴尬,因为之前的认知就是匹配到啥都一次性替换成某个值,后来查了一下replace这个方法,是有一个回掉函数的,函数的参数就是正则匹配到的值. 举个??: var aaaa = '/::~adsa/::Tdaas'.replace(/(\/::~)|(

js 正则表达式1;(基本语法、test方法 exec方法 replace方法)

 //语法1 var zz= new RegExp('aaa','igm');             //初始化一个RegExP对象 $('#scn').text(zz.test('aaaadesffd'))  //测试初始化对象包含的字符串是否在目标字符串当中.是返回True 否返回False //igm分别为3个可独立可组合的参数 //i 忽略大小写  g 全文查找  m多行查找  //语法2 var zz2=/^a$/i     //等同RegExp()方法 igm同是可以单独可以组合使

【js 方法】js 页面刷新location.reload和location.replace的区别 【转】

[转]:http://zccst.iteye.com/blog/2162658 reload 方法,该方法强迫浏览器刷新当前页面. 语法: location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页.true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新") replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,