やあみんな(´・ω・`)

この正規表現をもっとスマートにできないかな?
 /^D(a(m(n(A(ss?)?)?)?)?)?/i
つまり文字列の先頭から、
 D もしくは Da もしくは Dam もしくは Damn もしくは (以下略)
にマッチするかどうかを、大文字小文字を区別せずにテストしたい。
実行速度と可読性の両方があればベストなんだけど、どちらかというと
実行速度の方が嬉しい。何度も何度も何度も何度も呼び出されるんだ。

Cなら正規表現すら使わずに簡単に高速なルーチンが書けるのに
テキスト処理が得意なはずのPerlだと悩んじゃうのは、意外だね。

あ、このバーボンは僕のおごりだ。