WebサイトのHTMLコンポーネントを取得するために、正規表現を使用して小さなPerlスクリプトを作成しました。
この種の仕事をするのは良い方法ではないことは知っていますが、正規表現のスキルをテストしようとしていました。
whileループで2つの正規表現パターンのいずれかを使用して実行すると、完全に実行され、正しい出力が表示されます。しかし、whileループで両方のパターンをチェックしようとすると、2番目のパターンが毎回一致し、ループが無限に実行されます。
私のスクリプト:
#!/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)
ありがとうございました!どんな助けでも大歓迎です!