c#正则表达式模式

c#正则表达式模式,c#,regex,C#,Regex,与我昨天的问题类似: 相同的问题,不同的正则表达式模式。在和中测试时,正则表达式模式返回所需的匹配,但是在.NET中执行该模式时,没有返回匹配 string SampleText = @"\r\n99. Sample text paragraph one.\r\n100. Sample text here paragraph two.\r\n101. Sample text paragraph three.\r\n"; string RegexPattern = @"(?<=\\r\\n

与我昨天的问题类似:

相同的问题,不同的正则表达式模式。在和中测试时,正则表达式模式返回所需的匹配,但是在.NET中执行该模式时,没有返回匹配

string SampleText = @"\r\n99. Sample text paragraph one.\r\n100. Sample text here paragraph two.\r\n101. Sample text paragraph three.\r\n";
string RegexPattern = @"(?<=\\r\\n\d+\.\s)([^.]+?)here.*?(?=\\r\\n)";
Regex FindRegex = new Regex(@RegexPattern, RegexOptions.Multiline | RegexOptions.Singleline);
Match m = FindRegex.Match(SampleText);
string SampleText=@“\r\n99.示例文本第1段。\r\n100.示例文本第2段。\r\n101.示例文本第3段。\r\n”;

字符串regexpatern=@”(?您还需要转义特殊的正则表达式字符:

string RegexPattern = @"(?<=\\r\\n\d+\.\s)([^.]+?)here.*?(?=\\r\\n)";

string regexpatern=@”(?您还需要转义特殊的正则表达式字符:

string RegexPattern = @"(?<=\\r\\n\d+\.\s)([^.]+?)here.*?(?=\\r\\n)";
string regexpatern=@”(?我猜出来了

在regextster和RegexLib.com中进行测试时,我复制并粘贴了即时窗口中的源文本,该窗口将控件返回行馈送转换为它们的文本表示形式\r\n

因此,我的正则表达式在测试环境中工作。但是,在实际运行时,源文本包含控件返回行馈送,\r\n而不是文本。这解释了为什么我的模式在测试环境中工作,而不是在运行时工作

我把我的模式改为
@”(?我找到了答案

在regextster和RegexLib.com中进行测试时,我复制并粘贴了即时窗口中的源文本,该窗口将控件返回行馈送转换为它们的文本表示形式\r\n

因此,我的正则表达式在测试环境中工作。但是,在实际运行时,源文本包含控件返回行馈送,\r\n而不是文本。这解释了为什么我的模式在测试环境中工作,而不是在运行时工作


我将模式更改为
@”(?实际上有一个“\r\n“在源字符串中。不是控件返回换行符,而是实际的文本。我编辑了op,以便通过使示例文本和模式文本更好地表示我的实际代码。@s15199d-Answer更新。
\
是正则表达式和C字符串文本的转义序列,因此需要“双转义”它们。实际上有一个“\r\n”在源字符串中。不是控件返回换行符,而是实际文本。我编辑了op,以便通过使示例文本和模式文本更好地表示我的实际代码。@s15199d-Answer更新。
\
是正则表达式和C字符串文本的转义序列,因此需要对它们进行“双重转义”。