正则表达式(Regular Expression)是一种用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式常用于字符串的搜索、替换和分割操作。
/abc/
。/(ab)+/
。假设我们有一个HTML字符串,其中包含多个<a>
标签,并且我们想要提取出这些标签的href
属性值。
const html = `
<ul>
<li><a href="https://example.com/page1">Page 1</a></li>
<li><a href="https://example.com/page2">Page 2</a></li>
<li><a href="https://example.com/page3">Page 3</a></li>
</ul>
`;
const regex = /<a\s+href="([^"]+)">/g;
let match;
const hrefs = [];
while ((match = regex.exec(html)) !== null) {
hrefs.push(match[1]);
}
console.log(hrefs); // 输出: ["https://example.com/page1", "https://example.com/page2", "https://example.com/page3"]
/<a\s+href="([^"]+)">/g
:这是一个正则表达式,用于匹配<a>
标签及其href
属性。<a\s+
:匹配<a
标签,后面跟着一个或多个空白字符。href="([^"]+)"
:匹配href
属性,其中([^"]+)
表示捕获组,用于提取引号内的内容。>
:匹配>
标签的结束。g
:全局匹配标志,表示在整个字符串中查找所有匹配项。regex.exec(html)
:执行正则表达式匹配,并返回一个数组,其中包含匹配的详细信息。while ((match = regex.exec(html)) !== null)
:循环执行匹配,直到没有更多的匹配项。hrefs.push(match[1])
:将捕获组中的内容(即href
属性的值)添加到hrefs
数组中。cheerio
)来处理HTML字符串,然后再进行正则表达式匹配。领取专属 10元无门槛券
手把手带您无忧上云