[EXERCISE] String Processing - Problem {16} - Extract Hyperlinks
Привет колеги,
ако може малко помощ :)
улесних леко нещата с този код https://pastebin.com/cR5DW3p5
сега остана да извадя линковете от списък с атрибути
<a href="/" id="home">Home</a> <a class="selected" href=/courses>Courses</a> <a href = '/forum' >Forum</a> <a class="href"onclick="go()" href= "#">Forum</a> <a id="js" href ="javascript:alert('hi yo')" class="new">click</a> <a id='nakov' href =http://www.nakov.com class='new'>nak</a> <a href="#empty"></a> <a href="#"><a href='hello'></a> <a href="#commented">commentex hyperlink</a>
мъчих с нещо такова
.+?href[\s]*?=[\s]*(["']*)(.+?)\1[^=]+>
но не ми се получава с кавичките...
и аз това се чудех има ли начин ако няма кавички след това да не търси, ако има единични да спре при първите единични, ако са двойни при първите двойни...
с твоя регекс и моето решение до момента направих това https://pastebin.com/5yRhPz3Z обаче с грешни тестове 3,5,6.
Някакви идеи какво пропускам?
Не работи правилно за случаите на някакви нестнати тагове в <a> тага, може би нещо такова има в тестовете. Проверката със сплита ще ги изкарва невалидни.
мда... можеше да се сетя :D
след като махнах сплита ми остана 6ти тест грешен...
Ако махнеш само сплита мисля остава проблем ако примерно нямаш href в <a>, но имаш такъв в някой нестнат таг (който не е <а>) - регекса ще го хване и изпечата.
е то така вече се обезмисля идеята да не ползвам голям и нечетим регекс :)
Мерси колега оправих го вече, както ти си го направил.
Това е регекс на мое решение: <a.+?href\\s*=\\s*(.+?)\\s*>.+?</a>