VZユーザーのための,VWXによる正規表現利用のてびき
初出:nifty:FGALDC/MES/13/09142〜 (2002/06/18〜2002/07/21)
今回はちょっと中弛み的に,文字クラスの用例です。
「オンリーって"only"だっけ? "onry"だったかな?」
「on[lr]yで検索してみましょう」
「ナガシマさんって,山あり? 山なし?」
「名前の字にこだわる人は多いから,気をつけないとね」
「うーん,両方書いちゃったかもしれない」
「それに,ほら,オトコ・オス・オットとかもあるし」
「うーん,全部書いちゃったかも」
「いっそ,[長永][島嶋嶌][茂繁重][男雄夫]で検索してみたら」
先の例ではniftyのIDを[A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9]としていましたが,複数の正規表現を組み合わせることで,厳密に書かなくても済むという場合も少なくありません。次の例は,行頭の発言番号とIDを組み合わせれば,多少それぞれが厳密でなくても99%発言ヘッダにマッチするであろうというものです。
^[0-9]+/[0-9]+ [A-Z]+[0-9]+
以前に宿題となっていた.+の問題は,複数の正規表現のひとつとして使用することで,このうえなく便利に使えるということが理解できるでしょう。この正規表現は非常に有用なのでぜひ覚えてください。いや,どんどん使ってください。(^^)
行全体に対して条件をマッチさせたい場合は,『
』と『 』を組み合わせてください。次の例では,漢字を含まない行にマッチします。^[^亜-瑤]+$
逆ももちろん可能です。ただ,例えば英文を抜き出すとか,プログラムコードを抜き出すとかの目的には,記号などの問題もからむので現実には難しいでしょうね。次の例では,記号とカタカナだけの行にほぼマッチするでしょう。
^[、-¶ァ-ヶ]+$
用例は挙げていくときりがないので,今回はこのへんで。どっとはらい。