メタ文字

カテゴリー: 正規表現 — admin @ 5:55 PM

正規表現に使用するメタ文字 読み方や使い方

 正規表現にはメタ文字という特殊文字を使用します。

.   ^   $   [   ]   *   +   ?   |   (   )

これらは日頃も良く使う文字で馴染みが深いかと思われますが、このメタ文字を駆使して正規表現で文章を検索します。

メタ文字の読み方

あんまり気にすることも無いとは思いますが、一応メタ文字にも正式名称のようなものがあります。人に教えたりする時には結構役に立ったりします。

.
ピリオド、ドット
^
キャレット、ハットマーク、アクサンシルコンフレックス、山
※ハットマークと呼ぶのが一番流通しているかも?
*
アスタリスク
?
クエスチョンマーク、はてな
+
プラス、足す
\ (¥)
バックスラッシュ、円マーク
欧文フォントや日本語系以外の文字コード環境、例えばlinuxだと\、日本語フォントや日本語の文字コード環境、例えばwindowsなどだと¥になります。この文字だけ特殊ですので覚えておきましょう。
$
ダラー、ドルマーク
[
スクエアブラケット開、左、角括弧
]
スクエアブラケット閉、右、角括弧
(
バーレン開、左、括弧
)
バーレン閉、左、括弧
|
バー、棒、区切り

メタ文字は他にも沢山有るのですが、今回は主なもののみ。

メタ文字を発音する時

ここで、簡単にメタ文字の読み方とか書きましたが、読みやすそうな言葉で説明すると良いです。
^を「アクサンシルコンフレックス」とか言っても大方通じません。
プログラミングは人に優しく。

正規表現とは

カテゴリー: 正規表現 — admin @ 1:51 PM

正規表現を知る

ホームページ作成・プログラミングをしていくと、正規表現という言葉を耳にするようになります。

正規表現とは一体何なのでしょうか?

わかりやすく言うと、文字列を検索する為の決まりごとを定めたものです。

様々な置換え作業に使用でき、知っているのと知らないのとでは作業スピードに雲泥の差が出ます。

いろんなところで使う正規表現

プログラミングとかあまり知らない人にとっては難しく感じるかもしれませんが、日常的に気軽に使えるものです。

例えば、正規表現を使用できるテキストエディタを使うと、置き換えたい文字列が100個であろうと100億個であろうと一瞬で置換え出来るのです。(勿論、100億個になるとパソコンサイドのスペックのより処理する時間が変わってきますけれど)

正規表現の便利さ

テキストエディタでの正規表現に触れましたが、どれくらいのことが出来るのかと言うと、有り過ぎて書けません。

例1 正規表現を使わない

正規表現を使わないで考えてみましょう。

例えば、文章中の

●わたしは今日「大阪」に行きます。

●あなたは今日「東京」に行きます。

に変換するとすれば、使わなくても標準の置換え機能で出来ます。

「わたし」「東京」の文字列を一つずつ検索するだけなので簡単です。

例2 正規表現を使わない

正規表現を使わないで考えてみましょう。

○雨---2008-1-1
○晴れ---2008-2-15

●今日は2008年1月1日です。雨でした。
●今日は2008年2月16日です。晴れでした。

に置換えするとすればどうでしょうか?この文章は日記のように毎日の天気を書いていて、1998年から10年分有ります。普通に置換えを続けるだけでは実に恐ろしいほどの時間が掛かります。尚且つ、—で区切られた部分を前後入れ替えるのは至難の業でしょう。

例2 正規表現を使う

正規表現を使ってみましょう。

検索する文字列

○(.*)---([0-9]+)-([0-9]+)-([0-9]+)

置換え後の文字列

●今日は$2年$3月$4日です。$1でした。

で、一瞬で処理出来ます。

正規表現って便利でしょう?

こうしたことが簡単に出来るのが正規表現の素晴らしいところです。

難しく考えなくても、処理方法さえ知ってしまえば実に簡単なのです。それに、そんなに言うほど沢山表現方法があるわけでもないので覚えてしまえばこっちのものでしょう。

よく勘違いする人が多いのですが、こうしたプログラミングを勉強するのは多くの場合、勤勉だからとか言う理由では無いことが多いです。楽したいから覚える訳です。

怠け者な人ほど、こうした知識を持っていたりします。私もそうです。(笑)