gpt4 book ai didi

javascript - 正则表达式中 (?=foo) 的意义是什么 if (? :foo) already exists?

转载 作者:行者123 更新时间:2023-11-29 22:28:00 25 4
gpt4 key购买 nike

我正在通读 Javascript RegExp documentation并注意到正则表达式功能 x(?=y) 不是必需的,因为您可以只编写 x(?:y) 并且它会做完全相同的事情。

仅当 x 后跟 y 时才会匹配 x,并且不会在结果中捕获 y。

我错了吗?两者有区别吗?

最佳答案

(?=) 是一个“X,通过零宽度正先行”。 (?:) 是一个非捕获组。

根据您使用正则表达式的方法(匹配与查找等),与正先行匹配的结果可能不会包含在您的匹配结果中,非捕获组仍会包含在匹配结果中包含在匹配结果的 [0] 组中。

关于javascript - 正则表达式中 (?=foo) 的意义是什么 if (? :foo) already exists?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8399404/

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