説明
.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