gpt4 book ai didi

javascript - 正则表达式解析问题ecmascript

转载 作者:行者123 更新时间:2023-12-03 02:56:56 26 4
gpt4 key购买 nike

有人可以帮我修改这个正则表达式吗:

var re = /<a href='([\s\S]*?)'([\s\S]*?)'[\s\S]*?<img src='([\s\S]*?)'[\s\S]*?<\/a>/g;
var match = re.exec(doc);

我需要能够仅提取链接:

while (match) {var url = BASE_URL + match[1]; page.appendItem(plugin.getDescriptor().id + ':index:' + escape(BASE_URL + match[1]), 'video', {
title: new showtime.RichText(match[2]),
icon: checkUrl(match[3])
});

match = re.exec(doc);
}

我试图用两个变量来解决这个问题,但它不起作用......

var b = "(id=\d*)'";

var a = "<a href='/details.php[*?]";

目标字符串最初是这样的:

<a href='/details.php?id=1578358' title='Аритмия / 2017 / РУ / WEB-DLRip' target='_blank'><img src='http://picplus.ru/img/1711/15/05d0f570.jpg' alt=''></a>
<a href='/details.php?id=1557197' title='Выстрел в пустоту (Главарь) / Shot Caller / 2017 / ПМ / BDRip' target='_blank'><img src='http://s.kinozal.tv/i/poster/9/7/1557197.jpg' alt=''></a>
<a href='/details.php?id=1564178' title='Бабушка лёгкого поведения / 2017 / РУ / WEB-DLRip' target='_blank'><img src='http://s.kinozal.tv/i/poster/7/8/1564178.jpg' alt=''></a>
<a href='/details.php?id=1570558' title='Напарник / 2017 / РУ / WEB-DLRip' target='_blank'><img src='http://s.kinozal.tv/i/poster/5/8/1570558.jpg' alt=''></a>
<a href='/details.php?id=1579515' title='Мадам / Madame / 2017 / ДБ / WEB-DLRip' target='_blank'><img src='http://picplus.ru/img/1711/22/d03ca6e5.jpg' alt=''></a>
<a href='/details.php?id=1571565' title='Про любовь. Только для взрослых / 2017 / РУ / WEB-DLRip' target='_blank'><img src='http://s.kinozal.tv/i/poster/6/5/1571565.jpg' alt=''></a>

现在他们更改了代码,正则表达式不再起作用......

</div><div class='mn1_content'><div class=pad0x0x5x0><ul class=lis><li class=mn><a href="/top.php" title="Топ раздач">Топ раздач</a></li><li><a href="/top.php?w=1" title="Топ раздач недели">Топ раздач недели</a></li><li><a href="/top.php?w=2" title="Топ раздач месяца">Топ раздач месяца</a></li><li><a href="/top.php?w=3" title="Топ раздач 3 месяца">Топ раздач 3 месяца</a></li></ul></div><div class='bx1 stable'><a href='/details.php?SbI135km9&amp;id=1563719' title='Пираты Карибского моря: Мертвецы не рассказывают сказки / Pirates of the Caribbean: Dead Men Tell No Tales / 2017 / ДБ / HDRip' target='_blank'><img src='http://s.kinozal.tv/i/poster/1/9/1563719.jpg' alt=''></a>
<a href='/details.php?SbI135km9&amp;id=1578358' title='Аритмия / 2017 / РУ / WEB-DLRip' target='_blank'><img src='http://picplus.ru/img/1711/15/05d0f570.jpg' alt=''></a>
<a href='/details.php?SbI135km9&amp;id=1557197' title='Выстрел в пустоту (Главарь) / Shot Caller / 2017 / ПМ / BDRip' target='_blank'><img src='http://s.kinozal.tv/i/poster/9/7/1557197.jpg' alt=''></a>
<a href='/details.php?SbI135km9&amp;id=1564178' title='Бабушка лёгкого поведения / 2017 / РУ / WEB-DLRip' target='_blank'><img src='http://s.kinozal.tv/i/poster/7/8/1564178.jpg' alt=''></a>
<a href='/details.php?SbI135km9&amp;id=1570558' title='Напарник / 2017 / РУ / WEB-DLRip' target='_blank'><img src='http://s.kinozal.tv/i/poster/5/8/1570558.jpg' alt=''></a>
<a href='/details.php?SbI135km9&amp;id=1579515' title='Мадам / Madame / 2017 / ДБ / WEB-DLRip' target='_blank'><img src='http://picplus.ru/img/1711/22/d03ca6e5.jpg' alt=''></a>
<a href='/details.php?SbI135km9&amp;id=1571565' title='Про любовь. Только для взрослых / 2017 / РУ / WEB-DLRip' target='_blank'><img src='http://s.kinozal.tv/i/poster/6/5/1571565.jpg' alt=''></a>
<a href='/details.php?SbI135km9&amp;id=1576347' title='Троцкий (1-8 серии из 8) / 2017 / РУ / SATRip' target='_blank'><img src='http://s.kinozal.tv/i/poster/4/7/1576347.jpg' alt=''></a>
<a href='/details.php?SbI135km9&amp;id=1569291' title='Оно / It / 2017 / ПМ / HDTVRip' target='_blank'><img src='http://s.kinozal.tv/i/poster/9/1/1569291.jpg' alt=''></a>

我需要的是一个正则表达式来获取链接:

<a href='/details.php?SbI135km9&amp;id=1578358'

并且只保留这个:/details.php?id=1578358。从“?”中删除 14 个字符直到“id”以及“=”后面的所有数字

请原谅我的英语,提前谢谢您

最佳答案

如果我没记错的话,您想继续使用代码中的匹配项,但您想从 match[1] 中删除这样的数据 SbI135km9&看起来像:

/details.php?SbI135km9&id=1563719

如果是这种情况,您可以使用原始正则表达式并替换 while 循环中的 match[1] 数据。

要匹配要替换的数据,您可以将任何单词字符一次或多次 \w+ ,然后 $amp; 并将其替换为空字符串

例如:

var m1 = match[1].replace(/\w+&/, "");

关于javascript - 正则表达式解析问题ecmascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47575757/

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