C# 正则表达式问题

C# 正则表达式问题,c#,.net,C#,.net,我尝试了很多方法,但我不知道如何在下面的字符串上找到匹配项 这是我的例子。顺便说一句,如果重要的话,使用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.*");

我尝试了很多方法,但我不知道如何在下面的字符串上找到匹配项

这是我的例子。顺便说一句,如果重要的话,使用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.
我做错了什么?请帮忙


提前感谢。

您需要转义特殊字符,例如+和\如下:

"AT\+CMEE=1\\r\\r\\nOK\\r\\n"
或者,您可以在字符串前面加上@,使其成为文字:

@"AT+CMEE=1\r\r\nOK\r\n"

尝试在Expresso上进行测试,Expresso可以帮助您测试正则表达式并为您生成C#或VB.NET代码。在这种情况下,它会为您转义字符串


另外,我并不隶属于Ultrapico,我只是不时使用Expresso来构建和测试正则表达式。

我想你可能混淆了要匹配的模式和字符串。谢谢,我一直都在使用它。伟大的工具