正则表达问题

时间:2010-09-13 10:08:58

标签: 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.*");
Match match2 = regex.Match(".*AT\\+CMEE=1\r\r\nOK\r\n.*");
Match match3 = regex.Match(".*OK.*");  // this one completely confuses me.

我做错了什么?请帮忙。

提前谢谢。

2 个答案:

答案 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"

尝试在http://regexlib.com/RETester.aspx

进行测试