gpt4 book ai didi

html - 正则表达式捕获分隔符之间的字符串并排除它们

转载 作者:太空宇宙 更新时间:2023-11-04 02:05:09 25 4
gpt4 key购买 nike

我在这个论坛中看到了一个接近我的“要求”但还不够的软件(Regexp to capture string between delimiters)。

我的问题是:我有一个 HTML 页面,我只会获取该页面所有“img”标签的 src,并将它们放入一个数组中,而不使用 Cheerio(我使用的是 Node js)。

问题是我更愿意排除分隔符。我该如何解决这个问题?

最佳答案

是的,这可以通过正则表达式实现,但是使用 native DOM 方法会更容易(并且可能更快,但不要引用我的话)。让我们从正则表达式方法开始。我们可以使用捕获组轻松解析 img 标签的 src:

var html = `test<div>hello</div>
<img src="first">
<img class="test" src="second" data-lang="en">
test
<img src="third" >`;
var srcs = [];
html.replace(/<img[^<>]*src=['"](.*?)['"][^<>]*>/gm, (m, $1) => { srcs.push($1) })

console.log(srcs);

但是,更好的方法是使用 getElementsByTagName:
(请注意,以下内容将获得某种父域 url,因为 src 是相对的/假的,但您明白了)

var srcs = [].slice.call(document.getElementsByTagName('img')).map(img => img.src);

console.log(srcs);
test<div>hello</div>
<img src="first">
<img class="test" src="second" data-lang="en">
test
<img src="third" >

关于html - 正则表达式捕获分隔符之间的字符串并排除它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44598642/

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