パール判事 | spin on the RITZ

パール判事

別に東京裁判について書くつもりはありません。ゴメンネ!



パールはパールでもPerlの方です。

相変わらず正規表現に悪戦苦闘&感動しております


結合、置換、マッチング、Cではお目にかかれなかったことばかりなので面食らいましたが、うまく使えれば非常に強力だということはわかりました。



たとえば、


ABCADFGNJERGCBSHSERGJRJDFJDHBSDFAERGDFHYJNBSDFGAWETARGERYGFGBA・・・


なんて文字列があったとして、(特に意味はありませんが)ABCCBAとかNHJJHNとか長さ6の回文(AAAAAAもok)を検索して表示してください。というのにも簡単に答えられる(はず)



ちょこっと

#!/usr/bin/perl

while (<STDIN>) {
    chomp;
    if (/(.)(.)(.)\3\2\1/g) {
        print "Match : $&\n";
    } else {
        print "Failed\n";
    }
}

書くだけで



TGHMNSEGVAHBNSERJHNRJTYLKFNSDFGQDFSTJYHKUGYILYFHKHGDSSDGHWBVSDGASERGQERHNTYKGRHERTH


の中には


TGHMNSEGVAHBNSERJHNRJTYLKFNSDFGQDFSTJYHKUGYILYFHKHGDSSDGHWBVSDGASERGQERHNTYKGRHERTH


っていうのが入ってるんだよ~と、すぐにわかります(意味があるかは置いといて)

C言語でやろうと思ったら結構大変だと思う。

・・・



AAAAAAとか除くのはどうすればいいんだろう。。。




ダイヤモンド演算子<>はLarryさん(Perlの開発者)の娘さんのHeidiちゃんが名づけたそうです。

ありがとうHeidiちゃん!