轩枫阁

首页 / Web前端 / 授人以渔 / Javascript / 关于正则的小细节

关于正则的小细节

之前在写收藏夹的功能开发的时候,遇到一个神奇的bug,当时怎么想也想不明白为什么会是这样子的结果。

是这样子的一个需求,相当于一组数据中筛选出一堆book_开头并以数字结尾的字符串,用正则做判断嘛,还是挺简单的,当时写了段代码。


来看下数据

sdf

 

来看下刚才的代码匹配的结果

asdg

 

分析下结果,就像是偶数结尾的都匹配成功,而奇数结尾的都匹配失败。翻一下刚才的那段代码,确实找不出什么出错的地方在哪,在看到答案之前你也可以试着找找看。在群里面提问之后,终于有人回答了。

答案:

原因是RegExp有个lastIndex, 加了g之后匹配成功不重置,匹配失败才重置, 所以导致这行第一次成功,第二次失败,之前的正则:var reg =/book_\d+/g;  去掉全局匹配就行了。

这个小细节之前一直没注意过,试了一下确实是这样的,所以这些都是靠平时积累。就像是以前和现在的我,在面对bug时,反正是完全不一样的,以前都有种想法说,自己应该找不出bug在哪或者是说不能一眼看出来而是需要花时间去测试才知道。不像现在,基本一看就知道哪里错了,有种神测的赶脚,这也算是一种进步吧,继续努力~

本文标题:关于正则的小细节 - 轩枫阁

转载请务必注明出处,欢迎分享

如果觉得我的文章对您有用,欢迎打赏
赞  赏
赞赏作者 urnotivan
¥ 6.66
换个金额 使用微信扫一扫赞赏
  • 6.66
  • 8.88
  • 16.8
  • 2.33
  • 52.0
  • 20.0
  • 自定义
  • 10.0
295/470
297/470

相关阅读

文章评论

  • 暂无评论

纸飞机许愿

x

钢琴节奏

请选择弹奏的曲谱

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2

    [返回曲谱列表]

    点击开始录制,可以录制弹奏的曲子