バックアップするノのアイコン

バックアップするノ Q&A

Q.

正規表現って何?

A.

正規表現は、文字列のパターンを表すための記法の一種で、標準的に広く使用されています。プログラミングするときはもちろん、色々なソフトで利用できるので、知っておいて損はありません。(損したらゴメン)

※ 正確には違いますけど、形式言語や計算機科学の研究者じゃなければ、知らなくても大丈夫です。

バックアップするノでは、boost のディフォルトの正規表現を使用しているので、Perl と同じ表現が使えます。例外的に /¥ (正規表現で表すと ¥¥) として解釈する拡張機能がありますが、/ はパスに使用できない文字なので、普通の正規表現と同じと考えていたとしても、問題は生じません

※ 知っていると ¥¥/ 1文字で表現できて便利です。

boost regex - Perl Regular Expression Syntax

リンク先は英語だし、情報が多すぎると思うので要点を整理します。

特殊な記号

.[{}()¥*+?|^$

上で記した文字は特殊な意味を持ちますが、それ以外の文字はそのままの文字を意味します。例えば、正規表現 ABCABC を含む文字列を表すので、ABC そのものや、ABCXZABCX などがマッチします。

特殊な記号そのものを表すには、前に ¥ を置きます。例えば、. そのものを表わす正規表現は、¥. です。¥ を表す正規表現は、¥¥ です。バックアップするノでは ¥¥ の代わりに / を使うこともできます。これは、Perl の正規表現と違う唯一の部分ですが、知らなくとも問題ありません。

文字のグループ

[] で囲うことで文字のグループを作成できます。例えば、[Aa] は、A または a にマッチします。バックアップするノ では、アルファベットの大文字小文字は区別されるため、例えばテキストファイルにマッチさせるには、

¥.[tT][xX][tT]$

のようにする必要があります。

任意の文字

. は任意の1文字を表わすので、

.

は空文字列以外の全ての文字列にマッチします。

先頭、末尾を表す特殊文字

^ は先頭を、$ を表す特殊文字です。例えば、

¥¥$

は、¥ で終わる文字列にマッチします。バックアップするノ では、全てのフォルダーにマッチする表現となります。

繰り返しを表す特殊文字

* は直前の文字の 0 回以上の繰り返しを表します。0 回も含むので文字が無くてもよいことになります。例えば、

a*

は a を 1 つも含まなくてもよいので、全ての文字列にマッチします。a を 1 つ以上含む文字列にマッチさせるには、

aa*

もしくは、

a+

を使います。+ は、ほぼ * と同じ機能を持ちますが、0 回でなく、1 回以上の繰り返しを表す特殊記号です。

よく使う記号は以上なので、1 つの例を示して説明を終えます。

^a.*\.txt$

は、a で始まり、.txt で終わる文字列にマッチします。.* は任意の文字の 0 回以上の繰り返しを表していて、頻繁に使われる表現なので覚えておきましょう。

今すぐ、無料ダウンロード

バックアップするノ ダウンロード

ご意見・ご要望など

ご意見・ご要望などは フォームメール から送信してください。
更新情報は、 ブログ でも配信してます。

共有