gpt4 book ai didi

javascript - 正则表达式不适用于 Firefox,但适用于 Chrome

转载 作者:行者123 更新时间:2023-12-03 18:26:22 24 4
gpt4 key购买 nike

我有这个正则表达式:

var message = message.replace(/<a.+?data-pageid=(?:"|')(\d+)(?:"|').+?<\/a>/g, '@[$1]');

它在 Chrome 上工作正常,并且 cturns 这个文本...

'some text <a contenteditable="false" data-pageid="2">some more text</a>'

...进入此文本...

'some text @[2]'

但是,对于 Firefox,它不起作用。也没有错误提示。它似乎只是“忽略”了那个正则表达式。有什么想法吗?

最佳答案

根据具有相同名称的变量将其声明为变量是否有意义?

原文:

var message = 'some text <a contenteditable="false" data-pageid="2">some more text</a>'
var message = message.replace(/<a.+?data-pageid=(?:"|')(\d+)(?:"|').+?<\/a>/g, '@[$1]');

在 Firefox 36.0.1(和其他版本,见上面的评论)上,这会将 message 设置为 some text @[2]

删除第二个声明:

var message = 'some text <a contenteditable="false" data-pageid="2">some more text</a>'
message = message.replace(/<a.+?data-pageid=(?:"|')(\d+)(?:"|').+?<\/a>/g, '@[$1]');

这仍然可以在原来工作的地方工作,但可能在处理范围不同的地方工作。我在猜测这个问题,因为我无法重现它。

为了更好地解决问题,请提供您的 Firefox 版本和示例实现。

关于javascript - 正则表达式不适用于 Firefox,但适用于 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29255267/

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