gpt4 book ai didi

php - NodeJS 中的正则表达式模式问题

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:48 24 4
gpt4 key购买 nike

我正在尝试将 PHP 代码转换为 NodeJS

我通过以下 NodeJS 尝试得到 null

matches = data.match(/@objid="(.*?)" href="(.*?)" data-autoplay="(.*?)"@si/);

但是在 PHP 中,以下行对我来说工作正常

preg_match_all('@objid="(.*?)" href="(.*?)" data-autoplay="(.*?)"@si', $content, $adress_link);

示例数据

data-objid="293001169457" href="https://m.ok.ru/dk?st.cmd=moviePlaybackRedirect&amp;st.sig=f74e88c3bb4366f8d16afedd42c5d8e56808f175&amp;st.mq=2&amp;st.mvid=293001169457&amp;st.ip=182.185.185.173&amp;st.dla=on&amp;st.exp=1542464401749&amp;st.hls=off&amp;_prevCmd=movieLayer&amp;tkn=6519" data-autoplay="1"><img src="//pimg.mycdn.me/getImage?url=http%3A%2F%2Fvdp.mycdn.me%2FgetImage%3Fid%3D142641728249%26idx%3D8%26thumbType%3D32%26f%3D1&amp;type=VIDEO_S_368&amp;signatureToken=gO17aWVQ5f69KKvIJCtsDQ" alt="Video" class="vdo thumb"/><div class="vdo playb"></div><div class="vd_tmr">2:18:57</div></a><div class="vdospinner"></div></div></div></div></div></div><div class="mvtxt card"><div class="a-menu toggle"><input class="a-menu_control tgl-cbox" type="checkbox" hidden="hidden" checked="checked" autocomplete="off" id="m-1542291601750-1"></input><div class="a-menu_content_w tgl-toggled" aria-hidden="true"

最佳答案

您可以使用

/objid="[^"]*"\s+href="([^"]*)"\s+data-autoplay=/i

并抓取组 1。请参阅 regex demo .

详细信息

  • objid=" - 文字文本
  • [^"]* - 除 "之外的 0+ 个字符
  • " - 一个 " 字符
  • \s+ - 1 个以上空格
  • href=" - 文字文本
  • ([^"]*) - 第 1 组:除 " 之外的 0+ 个字符
  • " - 一个 " 字符
  • \s+ - 1 个以上空格
  • data-autoplay= - 文字文本。

JS 演示:

var s = 'data-objid="293001169457" href="https://m.ok.ru/dk?st.cmd=moviePlaybackRedirect&amp;st.sig=f74e88c3bb4366f8d16afedd42c5d8e56808f175&amp;st.mq=2&amp;st.mvid=293001169457&amp;st.ip=182.185.185.173&amp;st.dla=on&amp;st.exp=1542464401749&amp;st.hls=off&amp;_prevCmd=movieLayer&amp;tkn=6519" data-autoplay="1"><img src="//pimg.mycdn.me/getImage?url=http%3A%2F%2Fvdp.mycdn.me%2FgetImage%3Fid%3D142641728249%26idx%3D8%26thumbType%3D32%26f%3D1&amp;type=VIDEO_S_368&amp;signatureToken=gO17aWVQ5f69KKvIJCtsDQ" alt="Video" class="vdo thumb"/><div class="vdo playb"></div><div class="vd_tmr">2:18:57</div></a><div class="vdospinner"></div></div></div></div></div></div><div class="mvtxt card"><div class="a-menu toggle"><input class="a-menu_control tgl-cbox" type="checkbox" hidden="hidden" checked="checked" autocomplete="off" id="m-1542291601750-1"></input><div class="a-menu_content_w tgl-toggled" aria-hidden="true"';
var rx = /objid="[^"]*"\s+href="([^"]*)"\s+data-autoplay=/i;
var match = rx.exec(s);
if (match) {
console.log(match[1]);
}

关于php - NodeJS 中的正则表达式模式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53320495/

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