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 回答