正規表現というのは、文字列の検索を強力にしたものです。
例えば、先頭の一文字がaかbかcの文字列を検索したい、といった場合通常の検索では
行うことが出来ませんが、正規表現ならばそれが可能です(^[abc]というパターンになり
ます)
正規表現とキーボードマクロを組み合わせると、テキストの整形等に対して強力な武器
になります。
正規表現のパターンを全て覚える必要はありません。
こういうことが出来る、というのを知っていれば、あとはパターン表でも見ながら組み
合わせていけば良いのです。
尚、正規表現では文字列を見つけることをマッチする、といいます。
以下によく使う正規表現の種類を記します。
パターン |
意味 |
x |
文字xをマッチします |
. |
改行を除いた全ての文字をマッチします |
[xyz] |
文字xとyとzをマッチします |
[a-z] |
文字aからzをマッチします |
[^a-z] |
文字aからz以外をマッチします |
r* |
正規表現rが連続で0かそれ以上続いた場合にマッチします |
r+ |
正規表現rが連続で1かそれ以上続いた場合にマッチします |
r? |
正規表現rが連続で0か1つ続いた場合にマッチします |
r{n1,n2} |
正規表現rが連続でn1~n2個続いた場合にマッチします |
r{n,} |
正規表現rが連続でn以上続いた場合にマッチします |
r{n} |
正規表現rが連続でn個続いた場合にマッチします |
\x |
エスケープシーケンスコード、またはつつく文字自体をマッチします |
(r) |
パターンマッチの優先順位を変更します |
r|s |
正規表現rまたは正規表現s |
^s |
行頭の正規表現s。[]中の^とは意味が異なるので注意 |
s$ |
行末の正規表現s |
例
abc
文字列abcをマッチします。ま、普通の文字検索と一緒ですね。
.abc
何か一文字のあとにabcが続く文字列をマッチします。
[abc]abc
先頭がaかbかcの後にabcが続く文字列をマッチします。
0x[a-fA-F0-9]+
先頭が0xで、続く文字がa-f、またはA-F、または0-9の文字が一つ以上続く文字列を
マッチします。
C#等での16進数の文字列を検索するパターンですね。
[\t ]
空白とタブをマッチします
^[a-zA-Z0-9].*
行頭が英数字な文字列をマッチします。
正規表現は、書いた人間以外には判別不可といわれるほど一見何をやっているのかわか
りません。
ですが、そう難しいものでもありません。
とりあえず、難しそう……というイメージは持たずに、使ってみてください。
便利さが分かります。
最終更新:2007年10月12日 13:09