正则方法exec和test,String方法match,replace
来源:互联网 发布:mysql 调用储存过程 编辑:程序博客网 时间:2024/06/06 11:36
test
reg.test(str)
exec
reg.exec(str);
举例:
var reg = /(\w+)@(\w+)\.(\w+)/g;var string = "Please send mail to george@contoso.com and someone@example.com. Thanks!";var result = reg.exec(string);
则result返回
Array[4] 0: "george@contoso.com" 1: "george" 2: "contoso" 3: "com" index: 20 input: "Please send mail to george@contoso.com and someone@example.com. Thanks!" length: 4
同时测试RegExp.$1
返回”george”;
`RegExp.$2`返回`"contoso"`;`RegExp.$3`返回`"com"`;`RegExp.$4`返回`""`;
因为前面的reg中有3个分组,即3个小括号,全局
RegExp.$
保存的就是匹配到的分组,RegExp.$1
-RegExp.$9
共9个分组,且只能保存最新的9个分组,
继续执行var result2 = reg.exec(string);
返回
Array[4] 0: "someone@example.com" 1: "someone" 2: "example" 3: "com" index: 43 input: "Please send mail to george@contoso.com and someone@example.com. Thanks!" length: 4
因为reg
使用g进行全局查找,因此,第二次使用能记住上次查找后的位置。
注意:
1. 要让RegExp.$1有值,则必须用var reg = /(\w+)@(\w+).(\w+)/g;这种方式定义正则表达式,不能用new RegExp();
2. 每次执行exec方法,RegExp.$值都会被刷新
match
match是String的方法,返回匹配到的元素
var result3 = string.match(reg);
results:
Array[2]0: "george@contoso.com"1: "someone@example.com"
replace
var newStr = str.replace(/[ab\*8]/g,function (ele) { return '<span style="color:red">'+ele+'</span>'; });
以上是将特殊字符a,b,*,8变为红色。
当回调函数是两个参数时,第二个参数值匹配到的第一组匹配项,即括号中的内容。
'user/add?id=$18&t=update'.replace(/\$(\d+)/g, function (a, b) { console.log(a);//$18 console.log(b);//18 });
以下是将驼峰命名转换为连字符连接
var hyphenateRE = /([^-])([A-Z])/g;var str = 'BackgroundColorHello';var str1 = str.replace(hyphenateRE, '$1-$2')str1;//"Background-Color-Hello"RegExp.$1;//"r"RegExp.$2;//"H"
阅读全文
0 0
- 正则方法exec和test,String方法match,replace
- JavaScript中级 --- 正则常用方法 exec、match、replace、test、$n
- 正则方法 exec 和match以及test
- js正则表达式search() 搜索、replace()替换、match()方法exec()方法test() 方法split() 方法
- 正则--match和exec方法
- JS的正则表达式常用方法test exec match search replace split
- js正则表达exec、match、test和replace、replaceAll
- JS中exec,match,replace,test方法对比
- JS中exec,match,replace,test方法对比
- 正则表达式中 test、exec、match 方法区别
- JavaScript中正则表达式test()、exec()、match() 方法区别
- Js 正则表达式对象(方法:exec、test、match、search)
- 正则表达式中 test、exec、match 方法区别
- 正则表达式中 test、exec、match 方法区别
- JavaScript中正则表达式test()、exec()、match() 方法区别
- 正则表达式中 test(),exec(),match() 方法的区别
- JavaScript中正则表达式test()、exec()、match() 方法区别
- 正则表达式中 test、exec、match 方法区别
- BZOJ 4666 小z的胡话
- JS基本类型与无法定义的属性
- 视频录制(一)—mediaRecorder介绍
- Mac下关于——你不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效。文件的删除
- Python之爬虫
- 正则方法exec和test,String方法match,replace
- 设计模式 观察者模式 以微信公众服务为例
- $.ajax使用总结(三):在Spring MVC中实现文件上传
- JAVA-AESCB加密
- 杜广纯案“和谐年代”小问题被拖大历史转折公平正义即将归来
- Hdu 2513 Cake slicing【区间Dp】
- struts2学习之---控制文件下载
- JQuery
- HDOJ<1004>Let the Balloon Rise