正则表达式怎么取<!--start--><!--end-->中间的内容
用c#中正则表达式如何实现
文本如下:
<!-- start -->
<pre>
\n\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</pre>
<!-- end -->
第1步:请教高手取出 <!--start--> <!--end--> 中的内容得到以下结果:
<pre>
\n\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</pre>
第2步:取出 <pre> </pre> 中的内容得到以下结果:
\n\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
谢谢
------解决方案--------------------不用正则不行么,直接
int tempStart,tempEnd;
string strContent = " <!-- start --> <pre> \n\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa </pre> <!-- end --> ";
if(strContent.IndexOf( " <!-- start --> ")> 0)
{
tempStart=strContent.IndexOf( " <!-- start --> ")+14;
tempEnd=strContent.IndexOf( " <!-- end --> ");
strContent=strContent.Substring(tempStart,tempEnd-tempStart+1).Trim();
}
------解决方案--------------------string str = @ " <!-- start --> \n详细信息: <br> <br>
<pre> \nsfdsfsdfsdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n </pre>
\n <!-- end -->
";
Regex reg = new Regex(@ " <!-- start --> [\s\S]*?( <pre> ([\s\S]*?) </pre> )[\S\s]* <!-- end --> ");
MatchCollection ms = reg.Matches(str);
foreach(Match m in ms)
{
Response.Write(Server.HtmlEncode(m.Result( "$1 ")) + " <BR> ");
Response.Write(Server.HtmlEncode(m.Result( "$2 ")));
}