gpt4 book ai didi

javascript - 此 RegEx 的哪一部分导致它在 IE7 和 IE8 中找不到匹配项?

转载 作者:行者123 更新时间:2023-11-29 20:13:59 25 4
gpt4 key购买 nike

我有一个寻找 <span> 的正则表达式与类(class)名称 foobar .它适用于 IE9、Chrome 和 Firefox。它在 IE7 和 IE8 中失败。谁能告诉我为什么?

new RegExp( /(\s*?)<span\b(?:.*?)(?:class=(?:'|"|.*?\s)?foobar(?:\s|\3))(?:.*?)(?:\/)?>(.+?)<\/span>(\s*?)/g )

最佳答案

如果您对从 getElementById().innerHTML 或 jQuery .html() 获得的 html 应用正则表达式,IE 会将 HTML 标签大写,这可能是问题所在。如果您使正则表达式不区分大小写 - 也就是说,在末尾将修饰符 /g 更改为 /gi - 这样可以解决问题吗?

您似乎也在混合使用 regex 文字和 RegExp 对象语法,您可以只使用 regex 文字来代替。

var regex = /(\s*?)<span\b(?:.*?)(?:class=(?:'|"|.*?\s)?foobar(?:\s|\3))(?:.*?)(?:\/)?>(.+?)<\/span>(\s*?)/gi;

关于javascript - 此 RegEx 的哪一部分导致它在 IE7 和 IE8 中找不到匹配项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8068027/

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