この置換を試してください
Regex.Replace("text1 (text2) text3", // Input
@"([()])", // Pattern to match
string.Empty) // Item to replace
/* result: text1 text2 text3*/
説明
正規表現の置換では、一致する文字列全体が検索されます。一致するものが見つかった場合、そのアイテムが置き換えられます。したがって、一致パターンは次のようになります([()])。つまり、これは
(一致を開始するためにパターン内で必要なものであり、終了が必要)です。そうでない場合、一致パターンのバランスが取れていません。
[]パターンでは、私はキャラクターを探していて、セット[を]定義しています。それらはセットマッチと見なされます。最も一般的なのは [AZ] で、これは A で始まり Z で終わる任意の文字セットです。独自のセットを定義します。* [ と ] は1文字を探している正規表現を意味しますが、その中の多くの文字のセットを指定します。
(また、指定できる)セット内には、2 つの文字のセットがあることも意味します。これらの 2 つの文字は、開き括弧と閉じ括弧です。[()] [)(]()
つまり、(1) セット内の (2) ( または ) の任意の文字に一致することを確認します。その一致が見つかったら、( または ) を string.empty に置き換えます。
テキストに対して regex replace を実行すると、2 つの一致する(text2 が見つかり、最後に一致する text2が見つかります)。これらは string.empty に置き換えられます。