js正则表达式中的match、exec、replace【转载】

首先废话一下,每次遇到这三个,都要去网上搜搜。今天先记下来。以便对比。

 
 
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的函数功能很强大很强大。哎。。
 

转载于:https://www.cnblogs.com/happy0912/p/5213283.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值