Я написал небольшой Perl-скрипт с регулярными выражениями для получения HTML-компонентов веб-сайта.
Я знаю, что это не лучший способ выполнения такой работы, но я пытался проверить свои навыки регулярных выражений.
При запуске с одним из двух шаблонов регулярных выражений в цикле while он работает отлично и отображает правильный вывод. Но когда я пытаюсь проверить оба шаблона в цикле while, второй шаблон совпадает каждый раз, и цикл выполняется бесконечно.
Мой сценарий:
#!/usr/bin/perl -w
use strict;
while (<STDIN>) {
while ( (m/<span class=\"itempp\">([^<]+)+?<\/span>/g) ||
(m/<font size=\"-1\">([^<]+)+?<\/font>/g) ) {
print "$1\n";
}
}
Я тестирую приведенный выше скрипт с образцом ввода:
<a href="http://linkTest">Link title</a>
<span class="itempp">$150</span>
<font size="-1"> (Location)</font>
Желаемый выход:
$150
(Location)
Благодарю вас! Любая помощь будет высоко ценится!