gpt4 book ai didi

javascript -/.?e.?/匹配整个字符串,而不是预期的子字符串

转载 作者:可可西里 更新时间:2023-11-01 01:42:58 26 4
gpt4 key购买 nike

在 Internet Explorer 10 中,这:

'abcdefghi'.match(/.?e.?/)

如我所料,评估为 ['def'],但在 Firefox 21.0 中,它评估为 ['abcdefghi']。 (参见 this jsFiddle。)对于某些以可选内容开头和结尾的正则表达式,例如 /.?e.{0,2}//.{0,2}e.{0,2}/;然而,评论者指出了各种类似的正则表达式,例如 /\S?e\S?//(?:.?e.?)/,它们是 < em>不受影响。这同样适用于 replace 方法。

我是否遗漏了一些明显的东西?这种行为有什么深层原因吗?

最佳答案

正如 tiffon 所说,这是 SpiderMonkey(Firefox 的 JavaScript 引擎)中的一个错误。

在 SpiderMonkey 中,我们使用了 Safari 的 JavaScriptCore JS 引擎中的 RegExp 引擎,并继承了它的错误。我提交了 bug 119191对于 JSC 中的错误。

关于javascript -/.?e.?/匹配整个字符串,而不是预期的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17905625/

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