Vz resources : Regular Expression

耳より正規表現入門

VZユーザーのための,VWXによる正規表現利用のてびき
初出:nifty:FGALDC/MES/13/09142〜 (2002/06/18〜2002/07/21)

第13回  メタキャラクタの使い方 (7-4) 文字クラスの用例

今回はちょっと中弛み的に,文字クラスの用例です。

LとRの聞き分けができない日本人

「オンリーって"only"だっけ? "onry"だったかな?」
on[lr]yで検索してみましょう」

監督の名前

「ナガシマさんって,山あり? 山なし?」
「名前の字にこだわる人は多いから,気をつけないとね」
「うーん,両方書いちゃったかもしれない」
「それに,ほら,オトコ・オス・オットとかもあるし」
「うーん,全部書いちゃったかも」
「いっそ,[長永][島嶋嶌][茂繁重][男雄夫]で検索してみたら」

nifty会議室の発言ヘッダ

先の例ではniftyID[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]+  

以前に宿題となっていた.+の問題は,複数の正規表現のひとつとして使用することで,このうえなく便利に使えるということが理解できるでしょう。この正規表現は非常に有用なのでぜひ覚えてください。いや,どんどん使ってください。(^^)

ある文字グループを含まない行

行全体に対して条件をマッチさせたい場合は,『^』と『$』を組み合わせてください。次の例では,漢字を含まない行にマッチします。

^[^亜-瑤]+$

ある文字グループだけの行

逆ももちろん可能です。ただ,例えば英文を抜き出すとか,プログラムコードを抜き出すとかの目的には,記号などの問題もからむので現実には難しいでしょうね。次の例では,記号とカタカナだけの行にほぼマッチするでしょう。

^[、-¶ァ-ヶ]+$

用例は挙げていくときりがないので,今回はこのへんで。どっとはらい


The VZ resources. ©2002 by mezala. mailto:mezala@nifty.com