IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    匹配1-28数字的正则表达式

    Moxuy发表于 2023-10-12 14:33:32
    love 0

    最近在用MockJS处理接口数据,遇到一个需求,需要返回一个视频链接,有28个视频,视频名依次从1到28命名,例如”http://192.168.0.90:7478/22.mp4"

    MockJS中提供了正则表达式的方式mock数据,返回上面这条链接可以使用/http\:\/\/192\.168\.0\.90\:7478\/22\.mp4/ 这样的表达式,但是如果想要返回1-28的视频链接,需要对22进行处理

    一开始想到的是/[1-28]/,以为这样就能达到目的的,但事实证明想的还是太少😂。

    /[1-28]/只会匹配1、2、8,这三个数字,可以拆开这样理解/([1-2]|8)/。

    所以想要匹配1-28,需要每一位去匹配,/([1-9]|1[0-9]|2[0-8])/

    很好!这样应该就可以了吧?

    输入到正则表达式工具内之后,我发现我想的还是太少
    202304261755326.png?raw=true

    如果是两位数,那就会只匹配了开头,并不是如预期的那样匹配一整个28。

    一番搜索之后,发现可以在前后加上\b解决,/\b([1-9]|1[0-9]|2[0-8])\b/
    202304261759420.png?raw=true

    \b可以表达为词边界,它会检查字符串中的位置是否是词边界,可以匹配一个一个的整体。



沪ICP备19023445号-2号
友情链接