11

文字列で次のテキストを見つけようとしています。'***' 問題は、C# Regex メカニズムでは次のことを実行できないことです。

new Regex("***", RegexOptions.CultureInvariant | RegexOptions.Compiled);

のため

ArgumentException: "" * " を解析中 - 量指定子 {x,y} の後に何もありません。"

明らかに、私の星は正規表現を表していると考えています。星を単なる星として扱い、それ以外のものとして扱うように正規表現メカニズムに指示する方法はありますか?

4

2 に答える 2

17

バックスラッシュで星をエスケープする必要があります。@"\*"

于 2012-10-28T09:57:56.997 に答える
17

*意味Regex

前の要素に 0 回以上一致します。

そのため、代わりに\*orを使用する必要があります。[*]

説明:

\

この表およびこのトピックの他の表でエスケープ文字として認識されない文字が続く場合、その文字と一致します。たとえば、\*と同じ\x2Aです。

[ character_group ]

の任意の 1 文字に一致しcharacter_groupます。

于 2012-10-28T10:01:02.320 に答える