Perl…GJ!!!
というわけで、正規表現まともに使うのは初めてかも。
そのうちWikiにまとめるけど、次のような感じ。
Hoge <tag attr="hoge">foo</tag> bar.
上記のような文からhogeとfooを抜き出す場合はこんな感じ
# もちろん、以下のRegexだとかなり問題があるけど
# ここではそういうことが問題ではなく
# $&, $1, $2みたいに正規表現中の()で囲まれた中身が
# とれることが言いたい。
$str = 'Hoge <tag attr="hoge">foo</tag> bar.';
$tag = "tag";
$attr = "attr";
if ( $str =~ m|<$tag $attr="(.*)">(.*)</$tag>|si ) {
print "all : $&\n";
print "attr : $1\n";
print "element : $2\n";
}
0 件のコメント:
コメントを投稿