首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

正则表达式如何取<start-><end->中间的内容

2012-02-05 
正则表达式怎么取!--start--!--end--中间的内容用c#中正则表达式如何实现文本如下:!--start--pre\

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

热点排行