WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:Perlの正規表現で 片方がない場合でも 片方をマッチさせたい。

0:[投稿] aaaa [2002/12/25 11:51 ][環境:IE6,WIN98 UNIX,Apache,CGI,Perl5.005_03]

$line="<LI><a href="xxxxxxxxx">YYYY <span class="comment">ZZZZ</span></a>;
で<span class="">ZZZZ</span>は ない場合もある時
xxxxとZZZZを取り出したいのです。

($url,$comment)=($line =~/.*href="(.*?)".*<span class="comment">(.?*)<\/span>\);
これだと <span class="comment">がない時 マッチしないので$urlにもはいりませんでした。
ない場合は urlだけでも入るようにしたいのですがどうすればよろしいでしょうか?


1:[回答] 匿名万歳 [2002/12/25 13:02 ]

$line = qq(<LI><a href="xxxxxxxxx">YYYY<span class="comment">ZZZZ</span></a>\n);

転記ミスか何かだと思いますが、念のため。

最初はurlとcommentではなくて、urlとタグの中身を取得する。
で、タグの中身にcommentがあるかどうか評価すればいいと思います。
一度にやるのではなく、段階的に。

この例では、
($url, $str) = $line =~ m!<a.*href="(.*?)"[^>]*?>(.*?)</a>!;
($comment) = $str =~ m!<span class="comment">(.*?)</span>!;


正規表現を極めたいだけなら済みません。


2:[完了] aaaa [2002/12/26 19:53 ]


そっすね。
二回わけてやります。
ありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World