gpt4 book ai didi

Javascript 正则表达式匹配 标签与可选属性 viewBox

转载 作者:行者123 更新时间:2023-12-05 06:02:24 29 4
gpt4 key购买 nike

我正在尝试匹配 <svg>带有可选属性 viewBox 的标签并提取其值。我想匹配 <svg> 的以下所有变体标签:

<svg width="28" height="32" viewBox="0 0 28 32">
<!-- svg content must be grouped -->
</svg>


<svg viewBox="0 0 28 32">
<!-- svg content must be grouped -->
</svg>

<svg width="28" height="32" viewBox="0 0 28 32">
<!-- svg content must be grouped -->
</svg>

<svg>
<!-- svg content must be grouped -->
</svg>

<svg viewBox="0 0 28 32" width="28" height="32">
<!-- svg content must be grouped -->
</svg>

这里,widthheightviewBoxoptionals 并且 viewBox 属性和 svg 内容的值必须是分组

以下正则表达式适用于 viewBox 是必需属性的情况:

/<svg\b[^>]*\s*(viewBox=\"(\b[^"]*)\").*?>([\s\S]*?)<\/svg>/

请参阅demo

enter image description here

但是当我将 viewBox 设为可选组时,没有匹配的组(注意 ? 括号后的符号):

/<svg\b[^>]*\s*(viewBox=\"(\b[^"]*)\")?.*?>([\s\S]*?)<\/svg>/

enter image description here

最佳答案

最后它通过以下正则表达式解决了:

<svg\b[^>]*?(?:viewBox=\"(\b[^"]*)\")?>([\s\S]*?)<\/svg>

Demo

关于Javascript 正则表达式匹配 <SVG> 标签与可选属性 viewBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66939735/

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