我正在使用 port.ReadExisting() 读取串行端口以读取来自 c# 中 GSM 调制解调器的来电。我将读取的数据存储在字符串变量 s 中。现在我想将传入的数据与正则表达式进行比较。但是 while 条件永远不会执行。请提供更正。
端口上的传入数据是
RING
+CLIP: "+919030665834",145,"",,"",0
我写了以下代码:
string s = port.ReadExisting();
Regex r = new Regex(@"\r\n(.+)\r\n\+CLIP: ""\+(\d+)"",(.+),""(.*)"",(.*),""(.*)"",(\d+)\r\n");
Match m = r.Match(s);
while (m.Success)
{
if (s.Contains("\r\nRING\r\n"))
{
call_status.Text = "Incoming Call";
call_status.Visible = true;
status_phno.Text = m.Groups[1].Value;
}
}