为了账号安全,请及时绑定邮箱和手机立即绑定

有人懂正则表达式吗,请教一下

有人懂正则表达式吗,请教一下

(?<=\s)\d+(?=\s)\b\d+\b这两个表达式有什么区别?都是匹配两边是空字符的一串连续的数字的啊,只不过第一个用了零宽断言
查看完整描述

4 回答

?
kumin

TA贡献38条经验 获得超104个赞

上下俩个表达式效果是一样滴

 

上面利用的是零宽断言 匹配空白符之间的内容

下面利用的是\b 是定位单词的开始和结束位置

所以效果是一样的


你有疑惑可能是对\b 和\s 有点混淆

\b是找到位置 不匹配东西

\s是匹配空白符 

举个栗子:  \babc\b 可以匹配到  "abc"

                 但\sabc\s 只能匹配到  " abc "  前后必须有空白符的


以上

查看完整回答
1 反对 回复 2016-11-09
?
花满楼的小前端a

TA贡献79条经验 获得超33个赞

断言不参与结果

查看完整回答
反对 回复 2016-11-09
?
千秋此意

TA贡献158条经验 获得超187个赞

js不支持反向预搜索,你上面那个正则(?<=\s)会报错的

查看完整回答
反对 回复 2016-11-09
?
慕田峪3555374

TA贡献137条经验 获得超18个赞

上面那个不匹配空白符

查看完整回答
反对 回复 2016-11-09
  • 4 回答
  • 0 关注
  • 2037 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信