首页 > 解决方案 > 如何在字符串中使用正则表达式来选择这些字符

问题描述

如何在字符串中使用正则表达式来选择这些字符。

const text = `<p height="100" width="300"><span><font color="blue" face="Times New Roman">....some content....</font></span></p>`;

我要选择的字符串是Times New Roman

标签: javascriptregex

解决方案


不要使用正则表达式,而是使用querySelector导航到具有要提取的属性的元素,然后使用getAttribute

const font = document.querySelector('font[color="blue"]');
console.log(font.getAttribute('face'));
<p height="100" width="300">
 <span><font color="blue" face="Times New Roman">....some content....</font></span>
</p>

如果您的输入是字符串而不是 HTML 元素,请先使用DOMParser将其转换为可解析的文档:

const input = `<p height="100" width="300">
 <span><font color="blue" face="Times New Roman">....some content....</font></span>
</p>`;
const doc = new DOMParser().parseFromString(input, 'text/html');
const font = doc.querySelector('font[color="blue"]');
console.log(font.getAttribute('face'));


推荐阅读