我需要对这个字符串使用正则表达式:
“\r\n + CMGL:0,\” REC READ\“,\” + 79119968091\“,,\” 13/10/28,15:22:36 + 16\“\r\n10160008\r\n $ GPMC,081915,A,5614.6801,N,04359.0266,E,0.0,190.2,121109 ,, * 19\r\n + CMGL:1,\“REC READ\”,\\“+ 79119968091\” ,,\“13/10/28,15:34:26 + 16\“\r\n#ALARM!\r\n10160008\r\n $ GPMC,081915,A,5614.6801,N,04359.0266,E,0.0,190.2,121109 ,, * 19\r\n\r\nOK\r\n“
我需要从上面的字符串中获取2个子字符串(每个子字符串都以\r\n + CMGL开始:并以\r\n结尾):
我有这个正则表达式
Regex r = new Regex(@"\+CMGL: (\d+),""(.+)"",""(.+)"",(.*),""(.+)""(\r\n((.|\n)*)\r\n\b)");
此正则表达式效果很好,但最后一组(\r\n((。|\n)*)\r\n\b)的不好,但不好。问题是直到我看到新的子字符串(\r\n + CMGL:)的开始,我才知道有多少\r\n符号字符串。
预先感谢
最佳答案
对于以\r\n + CMGL开头的文件:,以\r\n 结尾的文件,您可以使用以下正则表达式:
\\r\\n\+CMGL:.*?\*19\\r\\n
关于c# - 使用正则表达式查找字符串中包含多个换行符的子字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19675866/