C#正则表达式模式难题

s15*_*99d 5 c# regex

我有一个正则表达式,我已经在3个单独的源中验证为成功匹配所需的文本.

  1. http://regexlib.com/RETester.aspx
  2. http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx ,
  3. http://sourceforge.net/projects/regextester/

但是,当我在我的代码中使用正则表达式时.它不会产生匹配.我已使用其他正则表达式与此代码,他们已导致所需的匹配.我不知所措......

string SampleText = "starttexthere\r\nothertexthereendtexthere";
string RegexPattern = "(?<=starttexthere)(.*?)(?=endtexthere)";
Regex FindRegex = new Regex(@RegexPattern);
Match m = FindRegex.Match(SampleText);
Run Code Online (Sandbox Code Playgroud)

我不知道问题是我的正则表达式还是我的代码.

Mik*_*scu 7

问题是你的文本包含一个\r\n意味着它分为两行.如果要匹配整个字符串,则必须设置选项以匹配多行,并更改.要包含\n(换行符)的行为

 Regex FindRegex = new Regex(@RegexPattern, RegexOptions.Multiline | RegexOptions.Singleline);
Run Code Online (Sandbox Code Playgroud)