正規表現一覧
正規表現は文字列をパターンとして表す文字列です。正規表現を使って、テキストといった文字列のパターンマッチを比較し検索
や置換
に利用することができます。
正規表現の使用方法は基本的な正規表現の使い方
を参考にしてください。
基本的な正規表現一覧
以下は基本的な正規表現です。これらの正規表現を組み合わせてパターンマッチを行います。使い方は、基本的な正規表現の使い方
を参照してください。
| 正規表現 | 概略 | 例 | |
|---|---|---|---|
| . | 任意の1文字 | a.c | abc afc aあc |
| * | 直前の文字が0回以上繰り返し、最長一致 | ab*c | ac abbbbbbc |
| + | 直前の文字が1回以上繰り返し、最長一致 | ab+c | abc abbbbbbc |
| ? | 直前の文字が0か1回、最長一致 | ab?c | ac abc |
| .* | 任意の文字列が0以上、最長一致 | a.*c | ac abbbbbbc afc abcabcabbbc |
| .+ | 任意の文字列が1以上、最長一致 | a.+c | abc abbbbbbc afc abcabcabbbc |
| .? | 任意の文字が0か1回、最長一致 | ab?c | ac abc afc |
| .*? | 直前の文字が0回以上繰り返し、最短一致 | ab*?c | ac acbbbbbbc -> ac |
| .+? | 直前の文字が1回以上繰り返し、最短一致 | ab+?c | abc abcbbbbbbc -> abc |
| .?? | 直前の文字が0か1回、最短一致 | ab.??c | ac abc |
| ^ | 行の先頭から比較 | ^abc | abc |
| $ | 行の末尾から比較 | xyz$ | xyz |
| | | OR条件 | abc|def | abc def |
| ( ) | キャプチャーグループ | a(bc|de) | abc ade |
| ( )+ | キャプチャーの連続 | a(bc)+d | abcd abcbcbcd |
| ( | ) | キャプチャー内のOR条件 | a(bc|de)f | abcf adef |
| [] | []括弧内のいずれかの文字 | [abc] [a-c] | a, b, c |
| [^] | 否定条件 括弧内の文字以外 | [^abc] [^a-c] | a, b, c以外 |
| {n} | 直前の文字数を指定 | a{3} | aaa |
| {n,m} | 直前の文字の最小数と最大桁数、最長一致 | a{2,7} | aa aaaaaaa |
| {n,} | 直前の文字の最小数 | a{3,} | aaa aaaa... |
| \ | 直後の文字をエスケープ | ab\+cd | ab+cd |
エスケープシーケンス
エスケープシーケンスは、正規表現としてではなく文字列として扱うようにするための規則です。上記の基本的な正規表現一覧
の正規表現
を通常の文字列などとしてパターンマッチを行います。
代表的なものは上記の\
です。
\
は、直後の文字をパターン対象に含めません。
\
\"この文字列\"
上記のように"
をエスケープすると、"この文字列"
というテキストをパターンマッチの対象にします。そのままでは、"
をエスケープしません。
| 正規表現 | 概略 | 例 |
|---|---|---|
| \s | 空白文字すべて(半角スペース、\t、\n、\r、\f) | 改行を含む全文検索で使用 (.|\s)*または[\s\S]* |
| \S | 空白文字以外(半角スペース、\t、\n、\r、\f以外) | |
| \d | 半角数字([0-9]) | |
| \D | 半角数字以外([^0-9]) | |
| \w | アルファベット、数字、アンダースコア([a-zA-Z0-9_]) | |
| \W | アルファベット、数字、アンダースコア以外([^a-zA-Z0-9_]) | |
| \l | すべての半角英小文字 | |
| \L | 半角英小文字以外 | |
| \u | すべての半角英大文字 | |
| \U | 半角英大文字以外 | |
| \x | 16進数 | \x6A |
| \a | ベル(警告)文字 | |
| \c | Ctrl + 任意の文字 | |
| \n | 改行コード | |
| \r | 改行コード | |
| \f | 改ページコード | |
| \R | 改行コード(\n|\r|\n\r) | |
| \t | タブ | |
| \v | 垂直タブ | |
| \0 | NULL |
