説明
.NETのサイト内にある正規表現チートシート(PDFやDOC形式)を勝手に翻訳したものです。
公式情報
.NET の正規表現 | Microsoft Learn
https://learn.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expressions
単一文字
使用文字列 |
一致内容 |
[set] |
セット内の文字に一致 |
[^set] |
セット内の文字に不一致 |
[a–z] |
a-zの範囲 |
[^a–z] |
a-zの範囲にはない |
. |
\n (改行) を除くすべて |
\char |
エスケープされた特殊文字 |
制御文字
使用文字列 |
一致内容 |
Unicode |
\t |
水平タブ |
\u0009 |
\v |
垂直タブ |
\u000B |
\b |
バックスペース |
\u0008 |
\e |
エスケープ |
\u001B |
\r |
復帰 |
\u000D |
\f |
フォームフィード |
\u000C |
\n |
改行 |
\u000A |
\a |
ベル(アラーム) |
\u0007 |
\c char |
ASCII 制御文字 |
- |
非 ASCII コード
使用文字列 |
一致内容 |
\octal |
2-3 桁の 8 進文字コード |
\x hex |
2 桁の 16 進文字コード |
\u hex |
4 桁の 16 進文字コード |
文字クラス
使用文字列 |
一致内容 |
\p{ctgry} |
ユニコードカテゴリまたはブロック内 |
\P{ctgry} |
ユニコードカテゴリまたはブロックに含まれていない |
\w |
単語文字 |
\W |
単語以外の文字 |
\d |
10 進数 |
\D |
10 進数ではない |
\s |
空白文字 |
\S |
空白文字以外 |
量指定子
最大一致 |
最小一致 |
一致 |
* |
*? |
0文字以上 |
+ |
+? |
1文字以上 |
? |
?? |
0 または 1 文字 |
{n} |
{n}? |
厳密にn文字 |
{n,} |
{n,}? |
最小 n文字 |
{n,m} |
{n,m}? |
nからm文字 |
アンカー
使用文字列 |
指定位置 |
^ |
文字列または行の先頭 |
\A |
文字列の先頭 |
\z |
文字列の末尾 |
\Z |
文字列の末尾 (または末尾の \n の前) |
$ |
文字列または行の末尾 (または末尾の \n の前) |
\G |
前の一致が終了した場所 |
\b |
単語境界 |
\B |
単語境界ではない |
グループ
使用文字列 |
定義 |
(exp) |
インデックス付きグループ |
(?<name>exp) |
名前付きグループ |
(?<name1-name2>exp) |
バランシンググループ |
(?:exp) |
非キャプチャー・グループ |
(?=exp) |
ゼロ幅の正の先読み |
(?!exp) |
ゼロ幅の負の先読み |
(?<=exp) |
ゼロ幅の正の後読み |
(?<!exp) |
ゼロ幅の負の後読み |
(?>exp) |
後戻りしない(最大一致) |
インラインオプション
オプション |
一致への影響 |
i |
大文字と小文字を区別しない |
m |
複数行モード |
n |
明示的 (名前付き) |
s |
単一行モード |
x |
空白を無視する |
使用文字列 |
効果 |
(?imnsx-imnsx) |
指定したオプションを設定または無効にする |
(?imnsx-imnsx:exp) |
式内で指定したオプションを設定または無効にする |
後方参照
使用文字列 |
一致 |
\n |
インデックス付きグループ |
\k<name> |
名前付きグループ |
交互
使用文字列 |
一致 |
a|b |
a または b のいずれか |
(?(exp) yes | no) |
exp が一致する場合はyes exp が一致しない場合はno |
(?(name) yes | no) |
名前が一致する場合は yes 名前が一致しない場合は no |
代替
使用文字列 |
代替 |
$n |
グループ番号 n で一致する部分文字列 |
${name} |
グループ名と一致する部分文字列 |
$$ |
リテラルの $ 文字($そのもの) |
$& |
完全一致のコピー |
$` |
一致前のテキスト |
$' |
一致後のテキスト |
$+ |
最後にキャプチャされたグループ |
$_ |
入力文字列全体 |
コメント
使用文字列 |
内容 |
(?# comment) |
インラインコメントを追加 |
# |
xモードコメントを追加 |
詳細と例について: http://aka.ms/regex
正規表現をテストするには: http://regexlib.com/RETester.aspx
サポートされている Unicode カテゴリ
カテゴリ |
説明 |
Lu |
大文字の文字 |
LI |
小文字の文字 |
Lt |
文字, タイトルケース |
Lm |
文字, 装飾 |
Lo |
文字, その他 |
L |
文字, すべて |
Mn |
マーク, nonspacing combining |
Mc |
マーク, spacing combining |
Me |
マーク, enclosing combining |
M |
マーク, すべてのダイアクリティカルマーク |
Nd |
数字, 10 進数 |
Nl |
数字, 文字様記号 |
No |
数字, その他 |
N |
数字, すべて |
Pc |
句読点, connector |
Pd |
句読点, dash |
Ps |
句読点, opening mark |
Pe |
句読点, closing mark |
Pi |
句読点, initial quote mark |
Pf |
句読点, final quote mark |
Po |
句読点, その他 |
P |
句読点, すべて |
Sm |
記号, 数学 |
Sc |
記号, 通貨 |
Sk |
記号, 修飾 |
So |
記号, その他 |
S |
記号, すべて |
Zs |
区切り文字、スペース |
Zl |
区切り文字, 行 |
Zp |
区切り文字, 段落 |
Z |
区切り記号、すべて |
Cc |
制御コード |
Cf |
フォーマット制御文字 |
Cs |
サロゲート コード ポイント |
Co |
私用文字(外字) |
Cn |
未割り当て |
C |
すべての制御文字 |
名前付き文字セット ブロック (キリル文字など) については、
MSDN ライブラリで "サポートされている名前付きブロック" を検索してください。
正規表現操作
クラス: System.Text.RegularExpressions.Regex
正規表現オブジェクトとパターンマッチング
初期化 |
コンストラクタを使用する |
正規表現 |
Regex(String) |
+ オプション |
Regex(String, RegexOptions) |
+ タイムアウト |
Regex(String, RegexOptions, TimeSpan) |
静的メソッドによるパターンマッチング
以下のメソッドのオーバーロードを使用して、正規表現と検索するテキストを指定します。
一致したパターンの検索と置換
処理 |
使用メソッド |
一致を検証する |
Regex.IsMatch |
単一の一致を取得する |
Regex.Match (first) Match.NextMatch (next) |
すべての一致を取得する |
Regex.Matches |
一致を置き換える |
Regex.Replace |
テキストを分割する |
Regex.Split |
文字エスケープの処理 |
Regex.Escape Regex.Unescape |
正規表現パターンに関する情報の取得
取得内容 |
使用するRegex API |
グループ名 |
GetGroupNames GetGroupNameFromNumber |
グループ番号 |
GetGroupNumbers GetGroupNumberFromName |
表現 |
ToString |
オプション |
Options |
タイムアウト |
MatchTimeOut |
キャッシュ・サイズ |
CacheSize |
方向 |
RightToLeft |
Discussion