private void Check(string SearchData)
{
string pattern = "";
Regex regex1 = default(Regex);
MatchCollection matches = default(MatchCollection);
pattern = "N[0-9]{70}M";
regex1 = new Regex(pattern);
matches = regex1.Matches(SearchData);
if (matches.Count > 0)
{
///Commands
Message = "";
}
}
我的输入字符串是这样的:
0000000000000000000000100000000000000000020000000003010000000016M\r\nN0000000000000000000000000000100000000000000000020000000003010000000016M\r\n
但是此代码根本找不到“ N [0-9] {70} M”(类似于下一行)(matches.Count始终为零)。此代码在VB.NET中可以正常工作。我的错是什么?
N0000000000000000000000000000100000000000000000020000000003010000000016M\r\n
这里是调试图片。
string SearchData = @"...";
string pattern = "N[0-9]{70}M";
Regex regex1 = new Regex(pattern);
var matches = regex1.Matches(SearchData);
Console.WriteLine("Count=" + matches.Count);
演示:https://dotnetfiddle.net/IeNsQ9