gpt4 book ai didi

javascript - 正则表达式 : Understanding non-greedy repetition

转载 作者:行者123 更新时间:2023-11-29 18:03:20 28 4
gpt4 key购买 nike

为什么正则表达式模式/y+?z/匹配整个字符串yyyz

我的理解是模式 /y+z/贪婪 所以会匹配一个或多个 y 字符后跟一个 z 字符。为了使该表达式不贪婪(仅匹配 y 的第一个实例),我可以在 + 字符之后立即引入一个 ? 字符。例如 /y+?z/。现在,我希望此模式与字符串 yz 相匹配。然而,事实并非如此。相反,匹配整个字符串 yyyz

最佳答案

正则表达式匹配总是从最早的可能位置开始,即第一个 y。由于匹配正则表达式的 z 部分的唯一方法是同时匹配所有中间的 y,因此正则表达式将匹配整个字符串。

惰性求值并不是说“匹配得越少越好”,而是“匹配得越少越好,从当前位置开始匹配”。

关于javascript - 正则表达式 : Understanding non-greedy repetition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33393178/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com