Skip to content
トップに戻る

# 正規表現

正規表現 は、文字列内のパターンを記述し、特定のパターンがテキスト内に存在するかどうかを判断するために使用できます。

TreeSize では、正規表現を使用して、正規表現で指定された条件に一致する特定のファイルやフォルダを検索できます。特殊文字のリスト がサポートされています。

次の表は、最も使用される構文のいくつかを示し、いくつかの例を提供します：

正規表現 | 構文 | 説明 | 例
--- | --- | --- | ---
任意の文字 | `.` | 改行を除く任意の単一文字に一致します。 | `a.o` は "around" の "aro" と "about" の "abo" に一致しますが、"across" の "acro" には一致しません。
ゼロ回以上 | `*` | 前の正規表現のゼロ回以上の出現に一致し、すべての可能な一致を行います。 | `a*b` は "bat" の "b" と "about" の "ab" に一致します。 `e.*e` は "enterprise" という単語に一致します。
1回以上 | `+` | 前の正規表現の少なくとも1回の出現に一致します。 | `ac+` は "a" を含み、少なくとも1回の "c" を含む単語に一致します。例えば "race" や "ace" です。 `a.+s` は "access" という単語に一致します。
文字列の先頭 | `^` | 文字列の先頭に一致します。 | `^[0-9]` は数字で始まる文字列に一致します。
文字列の終わり | `$` | 文字列の終わりに一致します。 | `exe$` は "exe" で終わる文字列に一致します。
単語の始まり | `[[:<:]]` | テキストのこの位置で単語が始まる場合にのみ一致します。 | `[[:<:]]in` は "inside" や "into" のように "in" で始まる単語に一致します。
単語の終わり | `[[:>:]]` | テキストのこの位置で単語が終わる場合にのみ一致します。 | `ss[[:>:]]` は "across" や "loss" のように "ss" で終わる単語に一致します。
セット内の任意の1文字 | `[]` | [] 内の任意の1文字に一致します。文字の範囲を指定するには、開始文字と終了文字をダッシュ (-) で区切ってリストします（例: [a-z]）。 | `be[n-t]` は "between" の "bet"、"beneath" の "ben"、および "beside" の "bes" に一致しますが、"below" の "bel" には一致しません。
セット内にない任意の1文字 | `[^...]` | `^` の後に続く文字のセットに含まれない任意の文字に一致します。 | `be[^n-t]` は "before" の "bef"、"behind" の "beh"、および "below" の "bel" に一致しますが、"beneath" の "ben" には一致しません。
または | `|` | OR記号（|）の前または後のいずれかの式に一致します。主にグループ内で使用されます。 | `(sponge|mud)` は「sponge bath」と「mud bath」に一致します。
エスケープ文字 | `\` | バックスラッシュ（`\`）の後に続く文字をリテラルとして一致させます。これにより、`{` や `^` などの正規表現記法で使用される文字を見つけることができます。 | `\^` は `^` 文字を検索します。
n回繰り返す | `{n}` | 前の式のn回の出現に一致します。 | `[0-9]{4}` は任意の4桁のシーケンスに一致します。
グルーピング | `()` | 一連の式をグループ化することができます。単一の検索で2つの異なる式を検索したい場合、グルーピング式を使用してそれらを組み合わせることができます。 | `[a-z][1-3]` または `[0-9][a-z]` を検索したい場合、次のように組み合わせます: `([a-z][1-3])|([0-9][a-z])`。

## さらなる例

正規表現 | 使用例
--- | ---
`[0-9]` または `\d` | 名前に少なくとも1桁の数字を含むすべてのファイル/フォルダーを見つけます。
`a|b` | 名前に「a」または「b」を含むすべてのファイル/フォルダーを見つけます。
`[^(A-Za-z)]` | 名前にA-Zまたはa-zの範囲にない少なくとも1文字を含むすべてのファイル/フォルダーを見つけます。
`^E[0-9]{7}$` | 「E」で始まり、ちょうど7桁の数字が続くすべてのファイル/フォルダーを見つけます。
`[A-Za-z]:\\([^\\]+\\){2,4}[^\\]+$` | 深さが少なくとも2で、最大4のすべてのファイル/フォルダーを見つけます。
`[^\x00-\x7F]` | 無効なASCII文字を含むすべてのファイル/フォルダーを見つけます。
`[^\P{C}]` | 印刷できないUnicode文字を含むすべてのファイル/フォルダーを見つけます。
`[\xA0]` | 通常のスペース文字の代わりに非改行スペース文字（Unicode NOBR、U+00A0）を含むすべてのファイル/フォルダー名を見つけます。
`[~\""#%&\*\:<>\?\/\\{|}]` | SharePointサーバーで無効な文字を含むすべてのファイルおよびフォルダー名を見つけます。
`^\s+.*` | 先頭にスペースを含むすべてのファイルおよびフォルダーを見つけます。
`\s+(\.[^.]+)$` | 拡張子を持ち、名前の末尾に空白があるファイルを見つけます。
`.*\s+$` | 名前の末尾に空白があるフォルダーを見つけます。

## 正規表現を作成するためのツール

https://regex101.com/ (オンライン)

http://regexpal.com/ (オンライン)

http://sourceforge.net/projects/regexpeditor/ (ダウンロード)

http://sourceforge.net/projects/regextester/ (ダウンロード)

http://sourceforge.net/projects/regaxe/ (ダウンロード)