VZユーザーのための,VWXによる正規表現利用のてびき
初出:nifty:FGALDC/MES/13/09142〜 (2002/06/18〜2002/07/21)
前回はブラケットを使用して文字クラスを指定する方法を紹介しましたが,逆にマッチさせたくない文字クラスを指定することもできます。
この場合は,キャレットを文字クラスの先頭に置いてやれば文字クラスの否定になります。『
』と『 』の中にマッチさせたくない文字を列挙してください。[^abc]は,『a』『b』『c』以外の文字にマッチします。
ここでひとつ注意点です。ブラケットの中ではこの『[.*]】と書けば,『.』と『*』そのものにマッチします。逆に言えば,ブラケットの中でメタキャラクタの意味を打ち消す『 』を使う必要はないということになります。ただし,使用するツールの解釈に癖もありますから,実験してからの方がいいかもしれないですね。実際,VWXで' 'をそのまま書くとマッチさせることはできず,'\\'と重ねる必要があるようです。
』以外のメタキャラクタは意味を失います。例えば【また,[.*^]のように『 』を先頭に置かなければ,『 』はメタキャラクタとしての意味を失います。
なお余談ですが,"caret"とは「脱字記号」という意味があるそうですね。意味的には行頭の意味よりもこちらの方がふさわしい感じがあります。