正規表現(~を含まないものにマッチ)
Perlの正規表現について質問です。
画像<img src="http://hogehoge.com/img/gokuu.jpg" border=0><a href="http://hogehoge.com/">hogehoge</a><br>
画像<img src="http://hogehoge.com/img/pikkoro.jpg" border=0><a href="http://hogehoge.com/">hogehoge</a><br>
画像<img src="http://hogehoge.com/img/bejiita.jpg" border=0><a href="http://hogehoge.com/">hogehoge</a><br>
画像<img src="http://hogehoge.com/img/gohan.jpg" border=0><a href="http://hogehoge.com/">hogehoge</a><br>
画像<img src="http://hogehoge.com/img/buruma.jpg" border=0><a href="http://hogehoge.com/">hogehoge</a><br>
↓ 処理後 ↓
画像<img src="gazo_new1.jpg" border=0><a href="http://hogehoge.com/">hogehoge</a><br>
画像<img src="gazo_new2.jpg" border=0><a href="http://hogehoge.com/">hogehoge</a><br>
画像<img src="gazo_new3.jpg" border=0><a href="http://hogehoge.com/">hogehoge</a><br>
画像<img src="gazo_new4.jpg" border=0><a href="http://hogehoge.com/">hogehoge</a><br>
画像<img src="gazo_new5.jpg" border=0><a href="http://hogehoge.com/">hogehoge</a><br>
(変更した画像:gokuu.jpg,pikkoro.jpg,bejiita.jpg,gohan.jpg,buruma.jpg,)
以上のように
画像URL部分のみを gazo_new(連番).jpg に変更させ、
変更前の画像URL一覧を表示させるスクリプトを書いてみました。
$htmldata にHTMLの全データが格納されているとします。
$i=1;
while($htmldata=~/(<\s*img.*?src.*?=["\s]*)([.\/]*?\/)?((?:(?!gazo_new)[^"\s>])*)?["\s]?.*?>/i){
$imgurlparts .="$3,";
$htmldata=~ s/(<\s*img.*?src.*?=["\s]*)((?:(?!gazo_new)[^"\s>])*)?(["\s]?.*?>)/$1gazo_new$i.jpg$3/i;
$i++;
}
$htmldata .="(変更した画像:$imgurlparts)";
どうにもうまく動きません。
何卒ご教示をお願い致します。
補足
教えていただきありがとうございます。 ちょっと難しすぎて私には分かりませんでした。