我想在字符串中搜索'[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...
}
答案 0 :(得分:2)
添加括号:
Regex myRegexE10 = new Regex(@"\[E1010]");
或
Regex myRegexE1x = new Regex(@"\[E101[012]]");
if (myRegexE1x.IsMatch(sClientErrors)) { ...
请注意,添加括号后,不再需要字边界。另请注意,您无需转义方括号
答案 1 :(得分:1)
如果你想要包含一个字符的前面,你可以放一个“\”,所以你可以使用:
Regex myRegexE10 = new Regex(@"\[\bE1010\b\]")
如果您需要找到类似“\ s”的内容,也可以使用“\\”,其中“\ *”是正则表达式选项。