正则

正则

定位符

定位符用来描述字符串或单词的边界,^ 和 $ 分别指字符串的开始与结束,\b 描述单词的前或后边界,\B 表示非单词边界

字符描述
^匹配输入字符串开始的位置
$匹配输入字符串结束的位置
\b匹配单词边界
\B匹配非单词边界

\b匹配单词边界

/\bCha/.test('a Chavvvvv') //true
/\bCha/.test('aChavv') //false

\B表示非单词边界匹配。

'aaapttt'.replace(/\B/g,'+')

得到 “a+a+a+p+t+t+t”

(?:pattern)
正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串。该匹配不需要获取供以后使用

'aaapttt'.replace(/\B(?=apt)/g,'+')    //"aa+apttt"
'aaapttt'.replace(/\Bapt/g,'+')   //"aa+tt"

第一个表示后面时apt的非单词边界
(?!pattern)
正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串,与上面相反。
/\B(?=(\d{3})+(?!\d))/g
所以这里的意思是
\d{3} 匹配三个数字,+表示前面的内容重复1到多次,所以(\d{3})+表示三个数字的1到多次,也就是3,6,9…等3的倍数个数字的字符串;
(?!\d) 表示不能是数字
/\B(?=(\d{3})+(?!\d))/g 就是全局匹配一个位置,这个位置是非单词边界,然后后面是3的倍数个数字,然后是非数字。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值