雑記 - otherwise

最近はDQ10しかやっていないダメ技術者がちまちまと綴る雑記帳

正規表現で良くやるミス

question:1107762500 の件。
文字クラス ("[ ]") を使う場合、 "-" は先頭に置くのが基本。(エスケープでもいいとは思うけど、後で読みにくくなる気がする)
……だけど、良く忘れるんですよね。(私もたまにやる……そしていつも悩む)

ちなみに、今回の場合は、以下の様にすると、後で読みやすくていいかな、と。

my $char = q(-\w@#$&'*+=?^`{|}~);
if ($mailaddr =~ /[^$char]+/) {
...

まぁ、プログラムの書き方は人それぞれなので、あくまでも、「私にとって」読みやすい、というだけの話ですが。