0

「[E1010]」または「[E1011]」または「[E1012]」の文字列を検索したいと思います。現在、角かっこ [] を使用しないと正常に検索できません。正規表現を調整して、角括弧で囲まれたテキストを sClientError 変数に含めるにはどうすればよいですか。

ありがとう!

string sClientErrors = "Bla Blah \"30\" [E1011]\r\nBlah Blah"44\" [E1012]";

    Regex myRegexE10 = new Regex(@"\bE1010\b");
    Regex myRegexE11 = new Regex(@"\bE1011\b");
    Regex myRegexE12 = new Regex(@"\bE1012\b");

    if (myRegexE10.IsMatch(sClientErrors) || myRegexE11.IsMatch(sClientErrors) || myRegexE12.IsMatch(sClientErrors))
    {

           // do code here...

    }
4

2 に答える 2

2

括弧を追加することにより:

Regex myRegexE10 = new Regex(@"\[E1010]");

また

Regex myRegexE1x = new Regex(@"\[E101[012]]");
if (myRegexE1x.IsMatch(sClientErrors)) { ... 

括弧を追加すると、単語の境界は不要になることに注意してください。閉じ角括弧をエスケープする必要がないことにも注意してください

于 2013-07-12T23:17:01.050 に答える
1

含めたい文字の前に「\」を付けることができるので、次のようにします。

Regex myRegexE10 = new Regex(@"\[\bE1010\b\]")

「\s」のようなものを見つける必要がある場合は、「\\」を使用することもできます。ここで、「\*」は正規表現オプションです。

于 2013-07-12T23:18:10.500 に答える