以下是一段并不规则的HTML,我想通过一行正则来匹配红色部分的字符,请问如何做?
PS:我目前试用 new Regex(@"<dt>(*.?)<a href="(*.?) ">[a-zA-Z0-9]+</a>(*.?)</dt>",RegexOptions.IgnoreCase);行不通啊,求救!--
<div id="seo">
<div class="first">
<dl>
<dt>
<a href="1.aspx">test1</a>
</dt>
</dl>
</div>
</div>
</div>
PS:我目前试用 new Regex(@"<dt>(*.?)<a href="(*.?) ">[a-zA-Z0-9]+</a>(*.?)</dt>",RegexOptions.IgnoreCase);行不通啊,求救!--
<div id="seo">
<div class="first">
<dl>
<dt>
<a href="1.aspx">test1</a>
</dt>
</dl>
</div>
</div>
</div>
解决方案 »
- 关于网站登录
- DATALIST嵌套问题
- [奇怪问题]锚点标记会显示在网页标题栏上,为什么?
- 已经停止了IIS ,为什么application_end()没有执行 thread.Abort(),线程还在执行??
- 为什么大的网站都不怎么用asp.net呢??
- ORACLE 存储过程错误在案.NET中 什么意思
- asp.net页中,,,怎么让窗口全屏显示(隐藏工具栏、菜单、状态栏)
- XML文件里的数据进行查询!!
- 在vs.net中有无可以显示图片的DropDownList控件??
- 关于asp.net中的frameset的用法问题?
- 我套用图片切换代码,怎么没有显示效果啊??用ul布局的图片怎么向右滚动急!!
- 请教一个gridview排序的问题
*怎么放在.前面了?
[code=C#]
Regex reg = new Regex(@"(?is)<dt\s*>(?<Content>.*?)</dt>");code]
Regex reg = new Regex(@"(?is)<dt[^>]*>(?<Content>.*?)</dt>");
<div class=""first"">
<dl>
<dt>
<a href=""1.aspx"">test1</a>
</dt>
</dl>
</div>
</div>
</div>";
Regex reg = new Regex(@"(?is)(?<=<div[^>]*?id=""seo""[^>]*?>(?:(?!</div).)*)<dt>.*?</dt>");
foreach (Match m in reg.Matches(str))
Console.WriteLine(m.Value);
我试了这个:
<dt>((.|\n)*?)<a[^>]*?href=(['""]?)(?<url>[^'""\b>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>((.|\n)*?)</dt>也不行
string str = @"<div id=""seo"">
<div class=""first"">
<dl>
<dt>
<a href=""1.aspx"">test1</a>
</dt>
</dl>
</div>
</div>
</div>";
Regex reg = new Regex(@"(?is)(?<=<div[^>]*?id=""seo""[^>]*?>(?:(?!</div).)*)<dt>.*?</dt>");
foreach (Match m in reg.Matches(str))
Console.WriteLine(m.Value);
/*
<dt>
<a href=""1.aspx"">test1</a>
</dt>
*/没问题啊?
估计不是你的源字符串吧
你把你源字符串发来看看。
还是你怎么测试的?