備忘録的プログラミングリファレンス

正規表現一覧

 正規表現は文字列をパターンとして表す文字列です。正規表現を使って、テキストといった文字列のパターンマッチを比較し検索置換に利用することができます。

 正規表現の使用方法は基本的な正規表現の使い方を参考にしてください。

基本的な正規表現一覧

 以下は基本的な正規表現です。これらの正規表現を組み合わせてパターンマッチを行います。使い方は、基本的な正規表現の使い方を参照してください。

正規表現概略
.任意の1文字a.cabc afc aあc
*直前の文字が0回以上繰り返し、最長一致ab*cac abbbbbbc
+直前の文字が1回以上繰り返し、最長一致ab+cabc abbbbbbc
?直前の文字が0か1回、最長一致ab?cac abc
.*任意の文字列が0以上、最長一致a.*cac abbbbbbc afc abcabcabbbc
.+任意の文字列が1以上、最長一致a.+cabc abbbbbbc afc abcabcabbbc
.?任意の文字が0か1回、最長一致ab?cac abc afc
.*?直前の文字が0回以上繰り返し、最短一致ab*?cac acbbbbbbc -> ac
.+?直前の文字が1回以上繰り返し、最短一致ab+?cabc abcbbbbbbc -> abc
.??直前の文字が0か1回、最短一致ab.??cac abc
^行の先頭から比較^abcabc
$行の末尾から比較xyz$xyz
|OR条件abc|defabc def
( )キャプチャーグループa(bc|de)abc ade
( )+キャプチャーの連続a(bc)+dabcd abcbcbcd
( | )キャプチャー内のOR条件a(bc|de)fabcf 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\+cdab+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