web*_*ard 5 javascript regex firefox regex-lookarounds
我有以下正则表达式,它在 chrome 中工作,但在 firefox 或 safari 中导致错误。我需要修改它以使其工作。有人可以帮助一个可怜的灵魂吗?提前致谢!
正则表达式: /(?=<tag>)(.*?)(?<=<\/tag>)/
基本上,我必须匹配之间的任何字符<tag>,</tag>并且需要保留两个标签。我使用这个表达式作为 array.split 的参数。
输入: "The quick brown <tag>fox</tag> jumps over the lazy <tag>dog</tag>"
操作: input.split(正则表达式)
输出: ["The quick brown ", "<tag>fox</tag>", " jumps over the lazy ", "<tag>dog</tag>"]
firefox 和 safari 尚不支持lookbehind,您可以使用捕获组(使用以便我们拆分的模式也将添加到输出中)并拆分 <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))Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5642 次 |
| 最近记录: |