正規表現を知る
ホームページ作成・プログラミングをしていくと、正規表現という言葉を耳にするようになります。
正規表現とは一体何なのでしょうか?
わかりやすく言うと、文字列を検索する為の決まりごとを定めたものです。
様々な置換え作業に使用でき、知っているのと知らないのとでは作業スピードに雲泥の差が出ます。
いろんなところで使う正規表現
プログラミングとかあまり知らない人にとっては難しく感じるかもしれませんが、日常的に気軽に使えるものです。
例えば、正規表現を使用できるテキストエディタを使うと、置き換えたい文字列が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でした。
で、一瞬で処理出来ます。
正規表現って便利でしょう?
こうしたことが簡単に出来るのが正規表現の素晴らしいところです。
難しく考えなくても、処理方法さえ知ってしまえば実に簡単なのです。それに、そんなに言うほど沢山表現方法があるわけでもないので覚えてしまえばこっちのものでしょう。
よく勘違いする人が多いのですが、こうしたプログラミングを勉強するのは多くの場合、勤勉だからとか言う理由では無いことが多いです。楽したいから覚える訳です。
怠け者な人ほど、こうした知識を持っていたりします。私もそうです。(笑)
トラックバック URL :