我有以下正则表达式,它在chrome中工作,但在Firefox或Safari浏览器中导致错误。我需要对其进行修改以使其正常工作。谁能帮助一个可怜的灵魂?提前致谢!
正则表达式: /(?=<tag>)(.*?)(?<=<\/tag>)/
基本上,我必须匹配两者之间的任何字符<tag>
,</tag>
并且需要保留两个标签。我将此表达式用作array.split的参数。
输入: "The quick brown <tag>fox</tag> jumps over the lazy <tag>dog</tag>"
操作: input.split(regex)
输出: ["The quick brown ", "<tag>fox</tag>", " jumps over the lazy ", "<tag>dog</tag>"]
firefox和safari尚不支持向后搜索,您可以使用捕获组(使用捕获组,以便将其拆分的模式也将添加到输出中)并拆分 <tag> </tag>
let str = "The quick brown <tag>fox</tag> jumps over the lazy <tag>dog</tag>"
let regex = /(<tag>.*?<\/tag>)/
console.log(str.split(regex).filter(Boolean))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句