javascript 将脚本标记过滤到数组中

uxhixvfz  于 2022-12-02  发布在  Java
关注(0)|答案(1)|浏览(137)

我有一个示例标记:

<p><span style="color: blue;">Yes this one now</span></p>
<p><br></p>
<p>The main configuration value is this</p>
<p><br></p>
<p>!</p>
<p>enable</p>
<p>configure terminal</p>
<p>server name <span style="color: red;">Server Name</span></p>
<p>enable secret <span style="color: red;">Server Pass</span></p>
<p>no ip domain-lookup</p>
<p>ip domain name <span style="color: red;">region</span>.google.com</p>
<p>!</p>
<p><br></p>

我想写一个Javascript来过滤所有的span标签数据到2个不同的数组中。一个是当颜色是红色的时候,另一个是当颜色是蓝色的时候。但是我做不到,有人能帮我吗?我试着连接JS代码,但是我的解决方案失败了。

bkhjykvo

bkhjykvo1#

您可以简单地将regexmatch()沿着使用来获取元素

const html = `<p><span style="color: blue;">Yes this one now</span></p>
<p><br></p>
<p>The main configuration value is this</p>
<p><br></p>
<p>!</p>
<p>enable</p>
<p>configure terminal</p>
<p>server name <span style="color: red;">Server Name</span></p>
<p>enable secret <span style="color: red;">Server Pass</span></p>
<p>no ip domain-lookup</p>
<p>ip domain name <span style="color: red;">region</span>.google.com</p>
<p>!</p>
<p><br></p>`

const blueArray = html.match(/(?<=<span style="color: blue;">)(.*?)(?=<\/span>)/g)

console.log(blueArray)

const redArray = html.match(/(?<=<span style="color: red;">)(.*?)(?=<\/span>)/g)

console.log(redArray)

相关问题