slipperySoap 2022-02-22 03:03 采纳率: 88.9%
浏览 24
已结题

正则匹配遇到了空格星号问题

问题遇到的现象和发生背景

在玩字符串,正则表达式

 *23

(解释:空格星号23)
去匹配

                123

(解释:一堆空格23)

居然匹配上了

23

(解释:23)

img

我惊了!1怎么被断言掉了??难道空格星号除了空格的限定匹配,还有断言的作用?
从正则编译期上看,好像是既匹配,又断言

img

请问这是怎么回事?

  • 写回答

2条回答 默认 最新

  • 在下月亮有何贵干 优质创作者: 前端开发技术领域 2022-02-22 09:48
    关注

    你/ *23/是在匹配什么要清楚,是在匹配一个字符串是任意个空格+23,因此在 许多个空格123中去匹配,最终前面的都没匹配上,只匹配上了23这个字符串,23这个字符串代表0个空格+23。如果使用/ +23/去匹配,+代表至少一个,那就匹配不到东西了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月2日
  • 已采纳回答 2月22日
  • 创建了问题 2月22日