Regex クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
変更不可の正規表現を表します。
public ref class Regex
public ref class Regex : System::Runtime::Serialization::ISerializable
public class Regex
public class Regex : System.Runtime.Serialization.ISerializable
[System.Serializable]
public class Regex : System.Runtime.Serialization.ISerializable
type Regex = class
type Regex = class
interface ISerializable
[<System.Serializable>]
type Regex = class
interface ISerializable
Public Class Regex
Public Class Regex
Implements ISerializable
- 継承
-
Regex
- 派生
- 属性
- 実装
例
次の例では、正規表現を使用して、文字列内の単語が繰り返し出現することを確認します。 正規表現 \b(?<word>\w+)\s+(\k<word>)\b
は、次の表に示すように解釈できます。
Pattern | 説明 |
---|---|
\b |
単語の境界で一致を開始します。 |
(?<word>\w+) |
1 つ以上の単語文字を単語の境界まで一致させます。 このキャプチャされたグループに という名前を付けます word 。 |
\s+ |
1 つ以上の空白文字と一致します。 |
(\k<word>) |
という名前 word のキャプチャされたグループと一致します。 |
\b |
ワード境界に一致します。 |
#using <System.dll>
using namespace System;
using namespace System::Text::RegularExpressions;
int main()
{
// Define a regular expression for repeated words.
Regex^ rx = gcnew Regex( "\\b(?<word>\\w+)\\s+(\\k<word>)\\b",static_cast<RegexOptions>(RegexOptions::Compiled | RegexOptions::IgnoreCase) );
// Define a test string.
String^ text = "The the quick brown fox fox jumps over the lazy dog dog.";
// Find matches.
MatchCollection^ matches = rx->Matches( text );
// Report the number of matches found.
Console::WriteLine( "{0} matches found.", matches->Count );
// Report on each match.
for each (Match^ match in matches)
{
String^ word = match->Groups["word"]->Value;
int index = match->Index;
Console::WriteLine("{0} repeated at position {1}", word, index);
}
}
using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main ()
{
// Define a regular expression for repeated words.
Regex rx = new Regex(@"\b(?<word>\w+)\s+(\k<word>)\b",
RegexOptions.Compiled | RegexOptions.IgnoreCase);
// Define a test string.
string text = "The the quick brown fox fox jumps over the lazy dog dog.";
// Find matches.
MatchCollection matches = rx.Matches(text);
// Report the number of matches found.
Console.WriteLine("{0} matches found in:\n {1}",
matches.Count,
text);
// Report on each match.
foreach (Match match in matches)
{
GroupCollection groups = match.Groups;
Console.WriteLine("'{0}' repeated at positions {1} and {2}",
groups["word"].Value,
groups[0].Index,
groups[1].Index);
}
}
}
// The example produces the following output to the console:
// 3 matches found in:
// The the quick brown fox fox jumps over the lazy dog dog.
// 'The' repeated at positions 0 and 4
// 'fox' repeated at positions 20 and 25
// 'dog' repeated at positions 49 and 53
Imports System.Text.RegularExpressions
Public Module Test
Public Sub Main()
' Define a regular expression for repeated words.
Dim rx As New Regex("\b(?<word>\w+)\s+(\k<word>)\b", _
RegexOptions.Compiled Or RegexOptions.IgnoreCase)
' Define a test string.
Dim text As String = "The the quick brown fox fox jumps over the lazy dog dog."
' Find matches.
Dim matches As MatchCollection = rx.Matches(text)
' Report the number of matches found.
Console.WriteLine("{0} matches found in:", matches.Count)
Console.WriteLine(" {0}", text)
' Report on each match.
For Each match As Match In matches
Dim groups As GroupCollection = match.Groups
Console.WriteLine("'{0}' repeated at positions {1} and {2}", _
groups.Item("word").Value, _
groups.Item(0).Index, _
groups.Item(1).Index)
Next
End Sub
End Module
' The example produces the following output to the console:
' 3 matches found in:
' The the quick brown fox fox jumps over the lazy dog dog.
' 'The' repeated at positions 0 and 4
' 'fox' repeated at positions 20 and 25
' 'dog' repeated at positions 49 and 53
次の例は、正規表現を使用して、文字列が通貨値を表すか、通貨値を表す正しい形式であるかを確認する方法を示しています。 この場合、正規表現は、en-US カルチャの NumberFormatInfo.CurrencyDecimalSeparator、 CurrencyDecimalDigits、 NumberFormatInfo.CurrencySymbol、 NumberFormatInfo.NegativeSignおよび NumberFormatInfo.PositiveSign プロパティから動的に構築されます。 結果の正規表現は です ^\s*[\+-]?\s?\$?\s?(\d*\.?\d{2}?){1}$
。 この正規表現は、次の表に示すように解釈できます。
Pattern | 説明 |
---|---|
^ |
文字列の先頭から開始します。 |
\s* |
0 個以上の空白文字と一致します。 |
[\+-]? |
正符号または負符号の 0 個または 1 回の出現と一致します。 |
\s? |
0 個または 1 個の空白文字と一致します。 |
\$? |
ドル記号の 0 または 1 回の出現と一致します。 |
\s? |
0 個または 1 個の空白文字と一致します。 |
\d* |
0 個以上の 10 進数と一致します。 |
\.? |
0 または 1 の小数点記号と一致します。 |
(\d{2})? |
キャプチャ グループ 1: 0 または 1 回の 2 桁の 10 進数と一致します。 |
(\d*\.?(\d{2})?){1} |
小数点記号で区切られた整数と小数部の数字のパターンに少なくとも 1 回一致します。 |
$ |
文字列の末尾と一致します。 |
この場合、正規表現では、有効な通貨文字列にグループ区切り記号が含まれていないことを前提としており、指定したカルチャ CurrencyDecimalDigits のプロパティで定義された小数部の桁数または小数部の桁数が含まれていないことを前提としています。
using System;
using System.Globalization;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
// Get the en-US NumberFormatInfo object to build the regular
// expression pattern dynamically.
NumberFormatInfo nfi = CultureInfo.GetCultureInfo("en-US").NumberFormat;
// Define the regular expression pattern.
string pattern;
pattern = @"^\s*[";
// Get the positive and negative sign symbols.
pattern += Regex.Escape(nfi.PositiveSign + nfi.NegativeSign) + @"]?\s?";
// Get the currency symbol.
pattern += Regex.Escape(nfi.CurrencySymbol) + @"?\s?";
// Add integral digits to the pattern.
pattern += @"(\d*";
// Add the decimal separator.
pattern += Regex.Escape(nfi.CurrencyDecimalSeparator) + "?";
// Add the fractional digits.
pattern += @"(\d{";
// Determine the number of fractional digits in currency values.
pattern += nfi.CurrencyDecimalDigits.ToString() + "})?){1}$";
Console.WriteLine($"Pattern is {pattern}\n");
Regex rgx = new Regex(pattern);
// Define some test strings.
string[] tests = { "-42", "19.99", "0.001", "100 USD",
".34", "0.34", "1,052.21", "$10.62",
"+1.43", "-$0.23" };
// Check each test string against the regular expression.
foreach (string test in tests)
{
if (rgx.IsMatch(test))
Console.WriteLine($"{test} is a currency value.");
else
Console.WriteLine($"{test} is not a currency value.");
}
}
}
// The example displays the following output:
// Pattern is ^\s*[\+-]?\s?\$?\s?(\d*\.?(\d{2})?){1}$
//
// -42 is a currency value.
// 19.99 is a currency value.
// 0.001 is not a currency value.
// 100 USD is not a currency value.
// .34 is a currency value.
// 0.34 is a currency value.
// 1,052.21 is not a currency value.
// $10.62 is a currency value.
// +1.43 is a currency value.
// -$0.23 is a currency value.
Imports System.Globalization
Imports System.Text.RegularExpressions
Public Module Example
Public Sub Main()
' Get the current NumberFormatInfo object to build the regular
' expression pattern dynamically.
Dim nfi As NumberFormatInfo = CultureInfo.GetCultureInfo("en-US").NumberFormat
' Define the regular expression pattern.
Dim pattern As String
pattern = "^\s*["
' Get the positive and negative sign symbols.
pattern += Regex.Escape(nfi.PositiveSign + nfi.NegativeSign) + "]?\s?"
' Get the currency symbol.
pattern += Regex.Escape(nfi.CurrencySymbol) + "?\s?"
' Add integral digits to the pattern.
pattern += "(\d*"
' Add the decimal separator.
pattern += Regex.Escape(nfi.CurrencyDecimalSeparator) + "?"
' Add the fractional digits.
pattern += "(\d{"
' Determine the number of fractional digits in currency values.
pattern += nfi.CurrencyDecimalDigits.ToString() + "})?){1}$"
Console.WriteLine("Pattern is {0}", pattern)
Console.WriteLine()
Dim rgx As New Regex(pattern)
' Define some test strings.
Dim tests() As String = {"-42", "19.99", "0.001", "100 USD", _
".34", "0.34", "1,052.21", "$10.62", _
"+1.43", "-$0.23" }
' Check each test string against the regular expression.
For Each test As String In tests
If rgx.IsMatch(test) Then
Console.WriteLine("{0} is a currency value.", test)
Else
Console.WriteLine("{0} is not a currency value.", test)
End If
Next
End Sub
End Module
' The example displays the following output:
' Pattern is ^\s*[\+-]?\s?\$?\s?(\d*\.?(\d{2})?){1}$
'
' -42 is a currency value.
' 19.99 is a currency value.
' 0.001 is not a currency value.
' 100 USD is not a currency value.
' .34 is a currency value.
' 0.34 is a currency value.
' 1,052.21 is not a currency value.
' $10.62 is a currency value.
' +1.43 is a currency value.
' -$0.23 is a currency value.
この例の正規表現は動的に構築されているため、指定されたカルチャの通貨記号、小数点記号、または正符号と負符号 (この例では en-US) が正規表現エンジンによって正規表現言語演算子として誤って解釈される可能性があるかどうかは、デザイン時にはわかりません。 解釈の誤りを防ぐために、この例では、動的に生成された各文字列を メソッドに Escape 渡します。
注釈
クラスはRegex、.NET Frameworkの正規表現エンジンを表します。 これは、大量のテキストをすばやく解析して特定の文字パターンを見つけるために使用できます。テキスト部分文字列を抽出、編集、置換、または削除する場合。および を使用して、抽出された文字列をコレクションに追加してレポートを生成します。
Note
特定のパターンに準拠しているかどうかを判断して文字列を検証することが主な目的の場合は、 クラスを System.Configuration.RegexStringValidator 使用できます。
正規表現を使用するには、「正規表現 言語 - クイック リファレンス」に記載されている構文を使用して、テキスト ストリームで識別するパターンを定義します。 次に、必要に応じて オブジェクトを Regex インスタンス化できます。 最後に、正規表現パターンに一致するテキストの置換やパターン一致の識別など、何らかの操作を実行するメソッドを呼び出します。
Note
一般的な正規表現パターンについては、「正規表現の 例」を参照してください。 また、正規表現パターンのオンライン ライブラリ ( Regular-Expressions.info など) も多数あります。
クラスの使用方法の Regex 詳細については、このトピックの以下のセクションを参照してください。
正規表現の言語について詳しくは、「正規表現言語 - クイック リファレンス」を参照するか、次の資料のいずれかをダウンロードして印刷してください。
Word (.docx) 形式のクイック リファレンス
PDF (.pdf) 形式のクイック リファレンス
Regex メソッドと String メソッド
System.Stringクラスには、テキストとのパターン マッチングを実行するために使用できるいくつかの検索メソッドと比較メソッドが含まれています。 たとえば、および String.StartsWith メソッドはString.EndsWithString.Contains、文字列インスタンスに指定した部分文字列が含まれているかどうかを判断します。またString.IndexOfString.IndexOfAnyString.LastIndexOf、および String.LastIndexOfAny メソッドは、文字列内の指定した部分文字列の開始位置を返します。 特定の文字列を検索するときは、 System.String クラスの メソッドを使用します。 文字列内の特定の Regex パターンを検索する場合は、 クラスを使用します。 詳細と例については、「 .NET 正規表現」を参照してください。
静的メソッドとインスタンス メソッド
正規表現パターンを定義したら、次の 2 つの方法のいずれかで正規表現エンジンに提供できます。
正規表現を Regex 表す オブジェクトをインスタンス化します。 これを行うには、正規表現パターンをコンストラクターに Regex 渡します。 Regexオブジェクトは変更できません。正規表現を使用してオブジェクトをRegexインスタンス化すると、そのオブジェクトの正規表現を変更することはできません。
正規表現と検索するテキストの両方を指定して、 (
Shared
Visual Basic では) Regex メソッドを検索static
します。 これにより、オブジェクトを明示的に作成せずに正規表現を Regex 使用できます。
すべての Regex パターン識別メソッドには、静的オーバーロードとインスタンス オーバーロードの両方が含まれます。
正規表現エンジンは、パターンを使用する前に特定のパターンをコンパイルする必要があります。 オブジェクトは不変であるため Regex 、これはクラス コンストラクターまたは静的メソッドが呼び出されたときに Regex 発生する 1 回限りのプロシージャです。 正規表現エンジンは、単一の正規表現を繰り返しコンパイルする必要をなくすために、静的メソッド呼び出しで使用されるコンパイルされた正規表現をキャッシュします。 その結果、正規表現パターン マッチング メソッドは、静的メソッドとインスタンス メソッドに対して同等のパフォーマンスを提供します。
重要
.NET Framework バージョン 1.0 と 1.1 では、インスタンスまたは静的メソッド呼び出しで使用されていたかどうかにかかわらず、コンパイルされたすべての正規表現がキャッシュされました。 .NET Framework 2.0 以降では、静的メソッド呼び出しで使用される正規表現のみがキャッシュされます。
ただし、キャッシュは、次の 2 つの場合にパフォーマンスに悪影響を及ぼす可能性があります。
多数の正規表現で静的メソッド呼び出しを使用する場合。 既定では、正規表現エンジンは、最後に使用した 15 個の静的正規表現をキャッシュします。 アプリケーションで 15 を超える静的正規表現を使用している場合は、一部の正規表現を再コンパイルする必要があります。 この再コンパイルを防ぐには、 プロパティを Regex.CacheSize 増やします。
以前にコンパイルされた正規表現を使用して新しい Regex オブジェクトをインスタンス化する場合。 たとえば、次のコードでは、テキスト ストリーム内の重複する単語を検索する正規表現を定義しています。 この例では 1 つの正規表現を使用しますが、新 Regex しいオブジェクトをインスタンス化してテキストの各行を処理します。 これにより、ループの反復ごとに正規表現が再コンパイルされます。
StreamReader sr = new StreamReader(filename); string input; string pattern = @"\b(\w+)\s\1\b"; while (sr.Peek() >= 0) { input = sr.ReadLine(); Regex rgx = new Regex(pattern, RegexOptions.IgnoreCase); MatchCollection matches = rgx.Matches(input); if (matches.Count > 0) { Console.WriteLine("{0} ({1} matches):", input, matches.Count); foreach (Match match in matches) Console.WriteLine(" " + match.Value); } } sr.Close();
Dim sr As New StreamReader(filename) Dim input As String Dim pattern As String = "\b(\w+)\s\1\b" Do While sr.Peek() >= 0 input = sr.ReadLine() Dim rgx As New Regex(pattern, RegexOptions.IgnoreCase) Dim matches As MatchCollection = rgx.Matches(input) If matches.Count > 0 Then Console.WriteLine("{0} ({1} matches):", input, matches.Count) For Each match As Match In matches Console.WriteLine(" " + match.Value) Next End If Loop sr.Close()
再コンパイルを防ぐには、次の書き換えられた例に示すように、それを必要とするすべてのコードからアクセスできる 1 つの Regex オブジェクトをインスタンス化する必要があります。
StreamReader sr = new StreamReader(filename); string input; string pattern = @"\b(\w+)\s\1\b"; Regex rgx = new Regex(pattern, RegexOptions.IgnoreCase); while (sr.Peek() >= 0) { input = sr.ReadLine(); MatchCollection matches = rgx.Matches(input); if (matches.Count > 0) { Console.WriteLine("{0} ({1} matches):", input, matches.Count); foreach (Match match in matches) Console.WriteLine(" " + match.Value); } } sr.Close();
Dim sr As New StreamReader(filename) Dim input As String Dim pattern As String = "\b(\w+)\s\1\b" Dim rgx As New Regex(pattern, RegexOptions.IgnoreCase) Do While sr.Peek() >= 0 input = sr.ReadLine() Dim matches As MatchCollection = rgx.Matches(input) If matches.Count > 0 Then Console.WriteLine("{0} ({1} matches):", input, matches.Count) For Each match As Match In matches Console.WriteLine(" " + match.Value) Next End If Loop sr.Close()
正規表現操作の実行
オブジェクトをインスタンス化 Regex してそのメソッドを呼び出すか、静的メソッドを呼び出すかに関係なく、 Regex クラスは次のパターンマッチング機能を提供します。
一致の検証。 メソッドを IsMatch 呼び出して、一致するものが存在するかどうかを判断します。
1 つの一致の取得。 メソッドを Match 呼び出して、 Match 文字列または文字列の一部の最初の一致を表すオブジェクトを取得します。 後続の一致は、 メソッドを呼び出 Match.NextMatch すことによって取得できます。
すべての一致の取得。 メソッドを Matches 呼び出して、 System.Text.RegularExpressions.MatchCollection 文字列または文字列の一部で検出されたすべての一致を表すオブジェクトを取得します。
一致するテキストの置換。 一致するテキストを Replace 置き換えるには、 メソッドを呼び出します。 置換テキストは、正規表現で定義することもできます。 さらに、一部の Replace メソッドには、置換テキストを MatchEvaluator プログラムで定義できるパラメーターが含まれています。
入力文字列の一部から形成される文字列配列の作成。 メソッドを Split 呼び出して、正規表現で定義されている位置で入力文字列を分割します。
クラスには、そのパターン マッチング メソッドに加えて、 Regex いくつかの特別な目的のメソッドが含まれています。
メソッドは Escape 、正規表現または入力文字列の正規表現演算子として解釈できる文字をエスケープします。
メソッドは、 Unescape これらのエスケープ文字を削除します。
メソッドは CompileToAssembly 、定義済みの正規表現を含むアセンブリを作成します。 .NET Frameworkには、名前空間内のこれらの特殊な目的のアセンブリの例がSystem.Web.RegularExpressions含まれています。
Time-Out値の定義
.NET では、フル機能の正規表現言語がサポートされています。これにより、パターン マッチングの能力と柔軟性が大幅に向上します。 ただし、パワーと柔軟性にはコストがかかります。パフォーマンスが低下するリスクがあります。 パフォーマンスの低い正規表現は、驚くほど簡単に作成できます。 場合によっては、過剰なバックトラッキングに依存する正規表現操作は、正規表現パターンにほぼ一致するテキストを処理するときに応答を停止するように見える場合があります。 .NET 正規表現エンジンの詳細については、「 正規表現の動作の詳細」を参照してください。 過剰なバックトラッキングの詳細については、「 バックトラッキング」を参照してください。
.NET Framework 4.5 以降では、正規表現の一致のタイムアウト間隔を定義して、過剰なバックトラッキングを制限できます。 正規表現パターンと入力テキストによっては、実行時間が指定されたタイムアウト間隔を超える場合がありますが、指定されたタイムアウト間隔よりもバックトラッキングに時間が費やされることはありません。 正規表現エンジンがタイムアウトすると、例外が RegexMatchTimeoutException スローされます。 ほとんどの場合、正規表現のパターンにほぼ一致するテキストを一致させることで、正規表現エンジンが処理能力を無駄にすることを防ぎます。 ただし、タイムアウト間隔が低すぎるか、現在のマシンの負荷によってパフォーマンスが全体的に低下したことを示している可能性もあります。
例外の処理方法は、例外の原因によって異なります。 タイムアウト間隔が低すぎるか、過剰なマシン負荷が原因で例外が発生した場合は、タイムアウト間隔を増やして一致操作を再試行できます。 正規表現が過剰なバックトラッキングに依存しているために例外が発生した場合は、一致が存在しないと見なすことができます。また、必要に応じて、正規表現パターンの変更に役立つ情報をログに記録することもできます。
正規表現オブジェクトをインスタンス化するときにコンストラクターを Regex(String, RegexOptions, TimeSpan) 呼び出すことで、タイムアウト間隔を設定できます。 静的メソッドの場合は、パラメーターを持つ一致するメソッドのオーバーロードを呼び出すことによって、タイムアウト間隔を matchTimeout
設定できます。 タイムアウト値を明示的に設定しない場合、既定のタイムアウト値は次のように決定されます。
存在する場合は、アプリケーション全体のタイムアウト値を使用します。 これは、Regex オブジェクトがインスタンス化されるアプリケーション ドメインまたは静的メソッド呼び出しが行われるアプリケーション ドメインに適用される任意のタイムアウト値とすることができます。 アプリケーション全体のタイムアウト値を設定するには、AppDomain.SetData メソッドを呼び出して、TimeSpan 値の文字列表現を "REGEX_DEFAULT_MATCH_TIMEOUT" プロパティに割り当てます。
アプリケーション全体のタイムアウト値が設定されていない場合は、値 InfiniteMatchTimeout を使用します。
重要
すべての正規表現パターンマッチング操作でタイムアウト値を設定することをお勧めします。 詳細については、「 正規表現のベスト プラクティス」を参照してください。
コンストラクター
Regex() |
Regex クラスの新しいインスタンスを初期化します。 |
Regex(SerializationInfo, StreamingContext) |
互換性のために残されています。
シリアル化したデータを使用して、Regex クラスの新しいインスタンスを初期化します。 |
Regex(String) |
指定した正規表現の Regex クラスの新しいインスタンスを初期化します。 |
Regex(String, RegexOptions) |
パターンを変更するオプションを使用して、指定した正規表現の Regex クラスの新しいインスタンスを初期化します。 |
Regex(String, RegexOptions, TimeSpan) |
パターンを変更するオプションと、パターン マッチ メソッドがタイムアウトするまでに一致を試みる時間を指定する値を使用して、指定した正規表現の Regex クラスの新しいインスタンスを初期化します。 |
フィールド
capnames |
CompileToAssembly メソッドで生成される Regex オブジェクトによって使用されます。 |
caps |
CompileToAssembly メソッドで生成される Regex オブジェクトによって使用されます。 |
capsize |
CompileToAssembly メソッドで生成される Regex オブジェクトによって使用されます。 |
capslist |
CompileToAssembly メソッドで生成される Regex オブジェクトによって使用されます。 |
factory |
CompileToAssembly メソッドで生成される Regex オブジェクトによって使用されます。 |
InfiniteMatchTimeout |
パターン一致の操作がタイムアウトしないことを指定します。 |
internalMatchTimeout |
操作がタイムアウトになる前に、パターン一致操作で経過できる最大時間。 |
pattern |
CompileToAssembly メソッドで生成される Regex オブジェクトによって使用されます。 |
roptions |
CompileToAssembly メソッドで生成される Regex オブジェクトによって使用されます。 |
プロパティ
CacheSize |
コンパイルされた正規表現の現在の静的キャッシュ内の最大エントリ数を取得または設定します。 |
CapNames |
名前付きキャプチャ対象グループをインデックス値にマップする辞書を取得または設定します。 |
Caps |
番号付きのキャプチャ対象グループをインデックス値にマップする辞書を取得または設定します。 |
MatchTimeout |
現在のインスタンスのタイムアウト間隔を取得します。 |
Options |
Regex コンストラクターに渡されたオプションを取得します。 |
RightToLeft |
正規表現が右から左の方向に検索するかどうかを示す値を取得します。 |
メソッド
CompileToAssembly(RegexCompilationInfo[], AssemblyName) |
互換性のために残されています。
1 つ以上の指定した Regex オブジェクトをコンパイルして、名前付きアセンブリに保存します。 |
CompileToAssembly(RegexCompilationInfo[], AssemblyName, CustomAttributeBuilder[]) |
互換性のために残されています。
指定した 1 つ以上の Regex オブジェクトをコンパイルして、指定した属性を持つ名前付きアセンブリに保存します。 |
CompileToAssembly(RegexCompilationInfo[], AssemblyName, CustomAttributeBuilder[], String) |
互換性のために残されています。
指定した 1 つ以上の Regex オブジェクトと、指定した 1 つのリソース ファイルをコンパイルして、指定した属性を持つ名前付きアセンブリに保存します。 |
Count(ReadOnlySpan<Char>) |
正規表現のすべての出現箇所を入力スパンで検索し、一致する数を返します。 |
Count(ReadOnlySpan<Char>, Int32) |
正規表現のすべての出現箇所を入力スパンで検索し、一致する数を返します。 |
Count(ReadOnlySpan<Char>, String) |
正規表現のすべての出現箇所を入力スパンで検索し、一致する数を返します。 |
Count(ReadOnlySpan<Char>, String, RegexOptions) |
正規表現のすべての出現箇所を入力スパンで検索し、一致する数を返します。 |
Count(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan) |
正規表現のすべての出現箇所を入力スパンで検索し、一致する数を返します。 |
Count(String) |
正規表現のすべての出現箇所を入力文字列で検索し、一致する数を返します。 |
Count(String, String) |
正規表現のすべての出現箇所を入力文字列で検索し、一致する数を返します。 |
Count(String, String, RegexOptions) |
正規表現のすべての出現箇所を入力文字列で検索し、一致する数を返します。 |
Count(String, String, RegexOptions, TimeSpan) |
正規表現のすべての出現箇所を入力文字列で検索し、一致する数を返します。 |
EnumerateMatches(ReadOnlySpan<Char>) |
正規表現のすべての出現箇所を入力スパンで検索し、 を返 Regex.ValueMatchEnumerator して一致を反復処理します。 |
EnumerateMatches(ReadOnlySpan<Char>, Int32) |
正規表現のすべての出現箇所を入力スパンで検索し、 を返 Regex.ValueMatchEnumerator して一致を反復処理します。 |
EnumerateMatches(ReadOnlySpan<Char>, String) |
正規表現のすべての出現箇所を入力スパンで検索し、 を返 Regex.ValueMatchEnumerator して一致を反復処理します。 |
EnumerateMatches(ReadOnlySpan<Char>, String, RegexOptions) |
正規表現のすべての出現箇所を入力スパンで検索し、 を返 Regex.ValueMatchEnumerator して一致を反復処理します。 |
EnumerateMatches(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan) |
正規表現のすべての出現箇所を入力スパンで検索し、 を返 Regex.ValueMatchEnumerator して一致を反復処理します。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
Escape(String) |
文字の最小セット (\、*、+、?、|、{、[、(、)、^、$、.、#、空白) をエスケープ コードに置き換えてエスケープします。 これにより、正規表現エンジンではこのような文字がメタ文字ではなくリテラルとして解釈されます。 |
Finalize() |
このメンバーは Finalize() をオーバーライドし、より詳細なドキュメントがそのトピックで使用できるようになる場合があります。 Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 |
GetGroupNames() |
正規表現で使用されるキャプチャ グループ名の配列を返します。 |
GetGroupNumbers() |
配列内のグループ名に対応したキャプチャ グループ番号の配列を返します。 |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
GroupNameFromNumber(Int32) |
指定したグループ番号に対応するグループ名を取得します。 |
GroupNumberFromName(String) |
指定したグループ名に対応するグループ番号を返します。 |
InitializeReferences() |
互換性のために残されています。
CompileToAssembly メソッドで生成される Regex オブジェクトによって使用されます。 |
IsMatch(ReadOnlySpan<Char>) |
Regex コンストラクターで指定された正規表現が、指定した入力スパン内の一致を検出するかどうかを示します。 |
IsMatch(ReadOnlySpan<Char>, Int32) |
Regex コンストラクターで指定された正規表現が、指定した入力スパン内の一致を検出するかどうかを示します。 |
IsMatch(ReadOnlySpan<Char>, String) |
指定した正規表現が、指定した入力スパンで一致するものを見つけるかどうかを示します。 |
IsMatch(ReadOnlySpan<Char>, String, RegexOptions) |
指定した一致オプションを使用して、指定した正規表現が指定した入力スパンで一致を検出するかどうかを示します。 |
IsMatch(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan) |
指定した一致オプションとタイムアウト間隔を使用して、指定した正規表現が指定した入力スパンで一致を検出するかどうかを示します。 |
IsMatch(String) |
Regex コンストラクターで指定された正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。 |
IsMatch(String, Int32) |
入力文字列内の指定した位置から検索を開始して、Regex コンストラクターで指定された正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。 |
IsMatch(String, String) |
指定した正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。 |
IsMatch(String, String, RegexOptions) |
指定した一致オプションを使用して、指定した正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。 |
IsMatch(String, String, RegexOptions, TimeSpan) |
指定した一致オプションとタイムアウト間隔を使用して、指定した正規表現に一致する箇所が、指定した入力文字列内に見つかるかどうかを示します。 |
Match(String) |
指定した入力文字列内で、Regex コンストラクターで指定された正規表現と最初に一致する対象を 1 つ検索します。 |
Match(String, Int32) |
入力文字列内の指定した開始位置から開始して、その入力文字列内で正規表現に最初に一致する箇所を検索します。 |
Match(String, Int32, Int32) |
入力文字列内の指定した開始位置から開始し、指定した文字数だけを検索対象として、その入力文字列内で正規表現に最初に一致する箇所を検索します。 |
Match(String, String) |
指定した入力文字列内で、指定した正規表現に最初に一致する箇所を検索します。 |
Match(String, String, RegexOptions) |
指定した一致オプションを使用して、入力文字列内で、指定した正規表現に最初に一致する箇所を検索します。 |
Match(String, String, RegexOptions, TimeSpan) |
指定した一致オプションとタイムアウト間隔を使用して、入力文字列内で、指定した正規表現に最初に一致する箇所を検索します。 |
Matches(String) |
指定した入力文字列内で、正規表現と一致する対象をすべて検索します。 |
Matches(String, Int32) |
入力文字列内の指定した開始位置から検索を開始した場合に、その指定入力文字列内で正規表現と一致する対象をすべて検索します。 |
Matches(String, String) |
指定した入力文字列内で、指定した正規表現に一致する箇所をすべて検索します。 |
Matches(String, String, RegexOptions) |
指定した一致オプションを使用して、指定した入力文字列内で、指定した正規表現に一致する箇所をすべて検索します。 |
Matches(String, String, RegexOptions, TimeSpan) |
指定した一致オプションとタイムアウト間隔を使用して、指定した入力文字列内で、指定した正規表現に一致するすべての箇所を検索します。 |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
Replace(String, MatchEvaluator) |
指定した入力文字列内で、指定した正規表現に一致するすべての文字列を MatchEvaluator デリゲートによって返される文字列に置き換えます。 |
Replace(String, MatchEvaluator, Int32) |
指定した入力文字列内で正規表現パターンに一致する文字列を、指定した最大回数だけ、MatchEvaluator デリゲートによって返される文字列に置き換えます。 |
Replace(String, MatchEvaluator, Int32, Int32) |
指定した入力部分文字列内で正規表現パターンに一致する文字列を、指定した最大回数だけ、MatchEvaluator デリゲートによって返される文字列に置き換えます。 |
Replace(String, String) |
指定した入力文字列内で正規表現パターンに一致するすべての文字列を、指定した置換文字列に置換します。 |
Replace(String, String, Int32) |
指定した入力文字列内で正規表現パターンに一致する文字列を、指定した最大回数だけ、指定した置換文字列に置換します。 |
Replace(String, String, Int32, Int32) |
指定した入力部分文字列内で正規表現パターンに一致する文字列を、指定した最大回数だけ、指定した置換文字列に置換します。 |
Replace(String, String, MatchEvaluator) |
指定した入力文字列内で、指定した正規表現に一致するすべての文字列を MatchEvaluator デリゲートによって返される文字列に置き換えます。 |
Replace(String, String, MatchEvaluator, RegexOptions) |
指定した入力文字列内で、指定した正規表現に一致するすべての文字列を MatchEvaluator デリゲートによって返される文字列に置き換えます。 指定したオプションで、一致操作を変更します。 |
Replace(String, String, MatchEvaluator, RegexOptions, TimeSpan) |
指定した入力文字列内で、指定した正規表現に一致するすべての部分文字列を、MatchEvaluator デリゲートによって返される文字列に置き換えます。 追加のパラメーターでは、一致が見つからない場合に一致操作とタイムアウト間隔を変更するオプションを指定します。 |
Replace(String, String, String) |
指定した入力文字列内で指定した正規表現に一致するすべての文字列を、指定した置換文字列に置換します。 |
Replace(String, String, String, RegexOptions) |
指定した入力文字列内で指定した正規表現に一致するすべての文字列を、指定した置換文字列に置換します。 指定したオプションで、一致操作を変更します。 |
Replace(String, String, String, RegexOptions, TimeSpan) |
指定した入力文字列内で指定した正規表現に一致するすべての文字列を、指定した置換文字列に置換します。 追加のパラメーターでは、一致が見つからない場合に一致操作とタイムアウト間隔を変更するオプションを指定します。 |
Split(String) |
Regex コンストラクターで指定された正規表現パターンによって定義されている位置で入力文字列を分割し、部分文字列の配列に格納します。 |
Split(String, Int32) |
Regex コンストラクターで指定された正規表現で定義されている位置で、入力文字列を指定されている最大回数だけ分割し、部分文字列の配列に格納します。 |
Split(String, Int32, Int32) |
Regex コンストラクターで指定された正規表現で定義されている位置で、入力文字列を指定されている最大回数だけ分割し、部分文字列の配列に格納します。 正規表現パターンの検索は、入力文字列の指定した文字位置から開始します。 |
Split(String, String) |
正規表現パターンによって定義されている位置で、入力文字列を部分文字列の配列に分割します。 |
Split(String, String, RegexOptions) |
指定された正規表現パターンによって定義されている位置で、入力文字列を部分文字列の配列に分割します。 指定したオプションで、一致操作を変更します。 |
Split(String, String, RegexOptions, TimeSpan) |
指定された正規表現パターンによって定義されている位置で、入力文字列を部分文字列の配列に分割します。 追加のパラメーターでは、一致が見つからない場合に一致操作とタイムアウト間隔を変更するオプションを指定します。 |
ToString() |
|
Unescape(String) |
入力文字列内に含まれるエスケープされた文字を変換します。 |
UseOptionC() |
互換性のために残されています。
CompileToAssembly メソッドで生成される Regex オブジェクトによって使用されます。 |
UseOptionR() |
互換性のために残されています。
CompileToAssembly メソッドで生成される Regex オブジェクトによって使用されます。 |
ValidateMatchTimeout(TimeSpan) |
タイムアウト間隔が許容範囲内にあるかどうかを確認します。 |
明示的なインターフェイスの実装
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
SerializationInfo オブジェクトに、現在の Regex オブジェクトの逆シリアル化に必要なデータを入力します。 |
適用対象
スレッド セーフ
クラスは Regex 不変 (読み取り専用) で、スレッド セーフです。 Regex オブジェクトは、任意のスレッドで作成し、スレッド間で共有できます。 詳細については、「 スレッド セーフ」を参照してください。