这段正则看不懂 ^(a|b)*?$

正则

  • 加了?不是开启懒惰模式了吗?为啥所有的字符串都被匹配上了,我理解只会匹配出第一个a
  • 为啥删了$ 一个字符都匹配不上了?
阅读 1.5k
1 个回答

^ : 串首,$ : 串尾。串首串尾都匹配上了,那么一定是匹配了全串。

* 是可以重复 0 次的,意味着可以匹配 '' 。加了 *? ,又没有 $ 的限制,自然就只匹配一个空串了(这个最短)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题