
皆様突然ですが、正規表現をご存知でしょうか。ご存じの方はプログラミングの経験がある方でしょうか。正規表現は様々なソフトで使えて様々な処理を便利にしてくれる魔法のような仕組みです。
Table of Contents(目次)
そもそも正規表現とは
正規表現とはある表記を一般化した表記を使うことで様々な文字列にマッチする便利な仕組みです。具体例を挙げたほうがわかりやすいでしょう。
例えば水という言葉が末尾につく言葉を思い浮かべてみましょう。力水、軟水、香水、降水、蒸留水などと沢山でてきます。それをこう書くとします。
軟水
降水
香水
蒸留水
力水
こういうテキストデータがあるとして、全てに括弧をつけたいとします。
(軟水)
(降水)
(香水)
(蒸留水)
(力水)
皆様ならこのような場合どうしますか?一つ一つ格好を手入力しますか?その必要はありません。例えばこれが5個なら手で入力することも可能かもしれません。それが100個だったら10000個以上あるとしたらどうしましょう。手入力するのはとても地道な骨の折れる作業になるかもしれません。
これを正規表現は魔法のように解決してくれます。
(.+水)
これを検索ワードとして指定し置換後文字列に
(\1)もしくはソフトによっては ($1)
を指定すればよいのです。これを置換することによりすべての水のつく文字列を一気に括弧つきの水にできます。いかがでしょうかこの威力が分かっていただけますでしょうか。この正規表現は様々なパターンがあり、ほぼすべての文字パターンに対応できるような仕組みになっています。
例えばこれを名前の変更ソフトで適応すれば、jpg,jpegの混じった画像保管フォルダのファイルを一気にjpgだけに統一したりできます。他にも日付がついたファイルの名前を日付を残しオリジナルタイトルも残しつつ別名にしたりなど応用は様々です。
正規表現の使えるソフト
Atom(テキストエディタ)
Emeditor(テキストエディタ)
Mery(テキストエディタ)
SakuraEditor(テキストエディタ)
Flexible Renamer(ファイル名変更)
Excel【アドイン使用】(表計算)
大抵のプログラミング言語(プログラム言語)
irvine(httpダウンローダー)
DreamWeaver(ホームページ作成)
テキスト処理の便利機能のためテキストエディタ系が多くなっています。応用したものがダウンローダーやリネーマーソフトにあるという感じです。他にも使えるソフトは沢山あると思うので探してみてはいかがでしょうか?
パターンなど
. | 任意の一文字に合致 |
+ | 直前の一文字以上の繰り返しに合致 |
* | 直前の0文字以上の繰り返しに合致 |
() | カッコ内をグループ化 |
[] | カッコ内文字リストにある文字一字に合致 |
? | 直前の文字一字があるかもしくは無し |
$ | 文字列の終端に一致 |
^ | 文字列の先頭に一致 |
任意の特殊文字で無い文字 | その文字に合致 |
しかも大体この辺を覚えておけば大抵のパターンには対応出来ます。もし複雑な表現に一致させたいなら、ネット検索すれば誰かが作ってくれた正規表現が落ちていますからそれを使うこともできます。例えばURLに合致させたいならURL正規表現と検索すれば、URLに一致する正規表現を得る事ができます。正規表現に関してはすでに解説サイトが多数あることからこの記事では触りの紹介までとさせていただきます。
皆様引き続き快適PCライフをお送りくださいませ