js实现千分位分割加逗号正则匹配实现,以及详细解析,以及正则实现小写字符串转驼峰字符串

千分位分割

var a = '2221221225.88';

var b = a.replace(/(\d{3})(?=\d)/g, '$1,')

解析:如下第一个括号(\d{3})代表的是3个数字;

第二个括号\d代表数字,也就是在满足前面的情况下,下一个是数字的就满足要匹配的东西;

$1代表第一个括号的内容;结果如下console.log(b)//222,122,122,5.88 

正则表达式(?=pattern)的语法

正向肯定预查(look ahead positive assert),在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,”Windows(?=95|98|NT|2000)”能匹配”Windows2000”中的”Windows”,但不能匹配”Windows3.1”中的”Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

同样,通过这三个列子的结果,我们也可以理解下面这句话了

预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始 
我们再来对比一下列1和列2

var a = '13245646';
//列1
var reg1 = /(\d{3})(\d)/g
var reg2 = /(\d{3})(?=\d)/g
console.log('reg1:', a.match(reg1) )
console.log('reg2:',a.match(reg2) )
//输出
//reg1: (2) ["1324", "5646"]
//reg2: (2) ["132", "456"]

可以看到reg1在下一次的匹配中,是从(\d)之后的下一个字符开始匹配,而reg2中的下一次匹配时,却是直接从(\d{3})的下一个字符开始匹配。

转换驼峰实现方式

    var str = 'border-bottom-color'
    var reg = /-(\w)/g
    str=str.replace(reg,function($0,$1){
        return $1.toUpperCase()
    })
    console.log(str)

// 结果为 borderBottomColor

$0代表匹配到的东西 -b,-c;$1代表第一个括号,就是用B去替换-b,用C去替换-c

    var str = 'border-bottom-color'
    var reg = /-(\w)(\w)/g
    str=str.replace(reg,function($0,$1,$2){
        return $1.toUpperCase()+$2.toUpperCase()
    })
    console.log(str) //borderBOttomCOlor

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值