パール判事
別に東京裁判について書くつもりはありません。ゴメンネ!
パールはパールでも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ちゃん!