我尝试了很多东西,但我无法弄清楚如何在以下字符串中获得匹配
这是我的例子。顺便说一句,使用2.0紧凑框架。
string received = "AT+CMEE=1\r\r\nOK\r\n";
Regex regex = new Regex(received , RegexOptions.Multiline);
// I have tried many things
Match match1 = regex.Match(".*AT\+CMEE=1\r\r\nOK\r\n.*");
Match match2 = regex.Match(".*AT\\+CMEE=1\r\r\nOK\r\n.*");
Match match3 = regex.Match(".*OK.*"); // this one completely confuses me.
我做错了什么?请帮忙。
提前谢谢。
答案 0 :(得分:1)
Expresso可以帮助您测试正则表达式并为您生成C#或VB.NET代码。在这种情况下,它会为你转义字符串。
http://www.ultrapico.com/Expresso.htm
P.S。我不隶属于Ultrapico,我只是使用Expresso来不时地构建和测试正则表达式。
答案 1 :(得分:0)
您需要转义特殊字符,例如+和\,如此:
"AT\+CMEE=1\\r\\r\\nOK\\r\\n"
或者你可以在字符串前面添加@来使其成为文字:
@"AT+CMEE=1\r\r\nOK\r\n"
进行测试