读书人

正则表达式如何取lt;start-gt;lt;end-gt;中间的

发布时间: 2012-02-05 12:07:15 作者: rapoo

正则表达式怎么取<!--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 ")));}

读书人网 >asp.net

热点推荐