正規表現にもいろいろあります。
2005/07/05 火 13:05
apache の mod_rewrite は正規表現を使うことができ、きめ細かい指定ができるようになっているのですが、この正規表現というのが結構曲者です。
.htaccess で RewriteRule を使ってあれこれとやっていたのですが、どうも、思ったように動いてくれず、場合によっては403エラーとか500エラーが…。
何度確認しても絶対に合っているはずなのにエラーが出てしまい、頭を抱えていましたが、ようやく原因が分かりました。apache 1.3系では、ごく標準的な正規表現しかサポートしていないらしく、数字を示す \d とか 英数字とアンダースコアを示す \w などは使えないのでした。
正規表現をサポートしているソフトウェアはいろいろとありますが、ヘルプファイルやマニュアルを読んでみると、それぞれ、微妙に実装が異なることがあり、よく調べておかないとミスを犯しやすいようです。
正規表現メモというページに、unix系のツールなどの正規表現の実装状況が載っており、いかにそれぞれが異なっているかがよく分かります。
Windowsのソフトでもそうですね。私がよく使っているBecky!やEmEditor、それにPeggyなどもやはり完全に同じではありませんし。
「正規表現」と一言では片付けられない現実を再確認させられた一瞬でした。