-7

ファイル内の単語を検索する Windows フォーム アプリケーションを実行していますが、記号 "." を一致させるのに問題があります。、Regexのパターンはテキストボックスから設定されますが、「。」と入力するたびに ファイルの内容のテキスト全体と一致します。記号「.」だけにマッチさせたい だから私は何をすべきですか?

4

7 に答える 7

7

でエスケープします\:

Regex.Match(textBox.Text, @"\.");

"\" 次の文字を特殊文字としてマークするか、リテラルをエスケープします。たとえば、「n」は文字「n」と一致します。「\n」は改行文字に一致します。シーケンス "\\" は "\" に一致し、"\(" は "(" に一致します。

ソース

于 2013-05-29T12:06:12.597 に答える
2

\.パターン文字列で使用します。

于 2013-05-29T12:06:46.567 に答える
1

より一般的には、 を呼び出しRegex.Escapeますstring。あなたが見落としていた他の状況を処理するために。

他の回答 (これまでのところ) はエスケープする方法を説明していますが、このメソッドは、エスケープ文字自体"."など、他のすべての潜在的な問題を処理します。"\"

于 2013-05-29T12:09:56.837 に答える
0

正規表現で.は、任意の文字に一致する特殊文字です。ドットに一致させるには、バックスラッシュ ( \) でエスケープする必要があります。、、、、、などの他の予約文字についても同様$です。()[]^

\.したがって、正規表現は..

于 2013-05-29T12:11:16.767 に答える
0

regex'.'には特別な意味があります - 何にでもマッチします! 式のようにエスケープしてみてください\.

MatchCollection match = Regex.Matches(entireText, @"alphabet\.");
于 2013-05-29T12:08:55.033 に答える