js正则表达式中的match、exec、replace【转载】
2016-02-24 15:53
393 查看
首先废话一下,每次遇到这三个,都要去网上搜搜。今天先记下来。以便对比。
macth和exec都是匹配字符串中的内容,找到返回数组,找不到返回null,下面讨论有返回值的时候。
1、exec:
书写方式: result = reg.exec(str)
str:字符串
reg:正则表达式。
result:返回值:
1)reg不带全局g的时候,result[0]表示匹配的整个文本,result[1]表示匹配的第一个子表达式,即第一个左括号括起来的内容;result[2]表示匹配的第二个子表达式,即第二个左括号括起来的内容。以此类推。
2)result.length :result的数组长度。
3)result.4)result.input 属性则存放的是被检索的字符串 string
5)带全局的g的时候比较复杂,也没有验证过。欢迎拍砖。
2、macth:
书写方式: result = str.match(reg) 与exec和test相反。其实只要记住 一个就行:test是测试的意思,那么肯定是正则str测试字符串。即reg.test(str)或 reg.exec(str);
变量含义同exec
返回值:
1)不带全局g的时候,返回值跟exec相同。
关键是带全局g 的时候。
i)返回与正则表达式匹配的所有子字符串。是子字符串,不是子表达式哦。
ii)result.length返回结果数组的长度。即匹配的所有子字符串的次数。
3、replace:
repalce:
result = str.replace(reg,replacement);
replacement:替换的字符串或者函数。
如果是字符串的时候,这里就不多说了。重点说说函数的情况
函数有两各个参数:第一个是匹配的子字符串,第二个是匹配的每个子表达式。即括号括起来的子表达式。
以下是我在chrome下做的测试。驼峰形式的字符串转换成css形式的:
"mozArial".replace(/([A-Z])\w+/g,function(substr,submatch){
return "-"+submatch.toLowerCase()+substr.substring(1); })
结果:moz-arial
感觉这个repalce的函数功能很强大很强大。哎。。
macth和exec都是匹配字符串中的内容,找到返回数组,找不到返回null,下面讨论有返回值的时候。
1、exec:
书写方式: result = reg.exec(str)
str:字符串
reg:正则表达式。
result:返回值:
1)reg不带全局g的时候,result[0]表示匹配的整个文本,result[1]表示匹配的第一个子表达式,即第一个左括号括起来的内容;result[2]表示匹配的第二个子表达式,即第二个左括号括起来的内容。以此类推。
2)result.length :result的数组长度。
3)result.4)result.input 属性则存放的是被检索的字符串 string
5)带全局的g的时候比较复杂,也没有验证过。欢迎拍砖。
2、macth:
书写方式: result = str.match(reg) 与exec和test相反。其实只要记住 一个就行:test是测试的意思,那么肯定是正则str测试字符串。即reg.test(str)或 reg.exec(str);
变量含义同exec
返回值:
1)不带全局g的时候,返回值跟exec相同。
关键是带全局g 的时候。
i)返回与正则表达式匹配的所有子字符串。是子字符串,不是子表达式哦。
ii)result.length返回结果数组的长度。即匹配的所有子字符串的次数。
3、replace:
repalce:
result = str.replace(reg,replacement);
replacement:替换的字符串或者函数。
如果是字符串的时候,这里就不多说了。重点说说函数的情况
函数有两各个参数:第一个是匹配的子字符串,第二个是匹配的每个子表达式。即括号括起来的子表达式。
以下是我在chrome下做的测试。驼峰形式的字符串转换成css形式的:
"mozArial".replace(/([A-Z])\w+/g,function(substr,submatch){
return "-"+submatch.toLowerCase()+substr.substring(1); })
结果:moz-arial
感觉这个repalce的函数功能很强大很强大。哎。。
相关文章推荐
- 解析数组里面包含数组的json格式的数据代码
- js操作本地文件的方法
- 一个由PROGUARD与FASTJSON引起的血案
- js仿c# format 实现,格式化字符串
- js常见函数汇总
- .net +js创建HTML静态文件
- 如何用js得到当前页面的url信息方法(JS获取当前网址信息)
- js判断三个数字中的最大值
- js基础知识三(number类型的所有数值)
- javascript基础二数据类型
- JS函数库Underscore.js
- js 验证数字是否为不以0开头的正数
- js中window.location.search的用法和作用。
- JS设置cookie、读取cookie
- js验证数字正整数和0以及其他验证
- 面向对象编程-状态模式(js)
- Js基础二(字面量、typeof、所类型的boolean值)
- JavaScript开发整理
- javascript随机数生成公式
- javascript cookie的简单应用