<a href="www.example.com/News/123.html">这个a标签要</a>
<a href="/News/123123.html">这个a标签要</a>
<a href="/News/">这个a标签不要</a>
<a href="/News/123">这个a标签要</a>
<a href="http://www.test.com/News/123.html">这个a标签要</a>
<a href="http://www.test.com/News/123.aspx">这个a标签不要</a>
<a href="http://www.test.com/News/123.asp">这个a标签不要</a>大概意思就是 一个可以匹配出 href属性里包含某个标识的A标签的href属性和text属性,注意是包含,
而且这个正则需要 还需要一个结束的标识.比如 如上面的例子 包含的标识为/News/
结束的标识为 .html这个结束的标识是可给可不给的,如果有那么就href属性就必须以这个标识为结尾,没有的话就需包含给定的标识就行了.类似于这个正则
string regString = @"(?is)<a[^>]*href=(['""\s]?)(?<href>"/News/@"([^\.]*\".html@"|((?!"").)+?))\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>";但是这个正则是 必须以/News/为开头的,现在是包含它就行.
<a href="/News/123123.html">这个a标签要</a>
<a href="/News/">这个a标签不要</a>
<a href="/News/123">这个a标签要</a>
<a href="http://www.test.com/News/123.html">这个a标签要</a>
<a href="http://www.test.com/News/123.aspx">这个a标签不要</a>
<a href="http://www.test.com/News/123.asp">这个a标签不要</a>大概意思就是 一个可以匹配出 href属性里包含某个标识的A标签的href属性和text属性,注意是包含,
而且这个正则需要 还需要一个结束的标识.比如 如上面的例子 包含的标识为/News/
结束的标识为 .html这个结束的标识是可给可不给的,如果有那么就href属性就必须以这个标识为结尾,没有的话就需包含给定的标识就行了.类似于这个正则
string regString = @"(?is)<a[^>]*href=(['""\s]?)(?<href>"/News/@"([^\.]*\".html@"|((?!"").)+?))\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>";但是这个正则是 必须以/News/为开头的,现在是包含它就行.
解决方案 »
- 发布网站时为什么提示重复呢?Duplicate type
- 在asp.net中如何实现在前端页面加密密码
- 最近学校的asp.net结课了,我想要结合openapi做一些新奇有趣的web application,有什么好的题目?
- 各位高手来看看,我这段代码什么地方错了????(解决就给分!!)
- 想得到一个表中的记录数,感觉ds.Tables[0].Rows.Count;效率太底了,用select count(*) from table,如何的到结果啊?
- 怎样将 “上官” 转换成 “ %c9%cf%b9%d9&” 在.net中
- 如何创建全局 Database 对象
- treeview可否绑定数据库(20分)
- Config=Db.Config.Table.Select("Forum_Config_Id=" & Board(0)("Forum_Board_Class"))这一句又是什么意思?
- 知道的朋友请帮帮忙吧!!
- hosts 配置测试网站
- asp.net中如何压缩多个文件夹?
重发一个
string regString = @"(?is)<a[^>]*href=(['""\s]?)(?<href>/News/([^\.]*\.html|((?!"").)+?))\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>";
void Main()
{
string html=@"
<a href=""www.example.com/News/123.html"">这个a标签要</a>
<a href=""/News/123123.html"">这个a标签要</a>
<a href=""/News/"">这个a标签不要</a>
<a href=""/News/123"">这个a标签要</a>
<a href=""http://www.test.com/News/123.html"">这个a标签要</a>
<a href=""http://www.test.com/News/123.aspx"">这个a标签不要</a>
<a href=""http://www.test.com/News/123.asp"">这个a标签不要</a>
"; foreach(Match m in Regex.Matches(html,@"(?is)<a[^>]*href=(['""]?)[^'""]*/News/[^""'\.]+(\.html)?\1[^>]*>[^<]*</a>"))
{
Console.WriteLine(m.Value);
}
}/*
<a href="www.example.com/News/123.html">这个a标签要</a>
<a href="/News/123123.html">这个a标签要</a>
<a href="/News/123">这个a标签要</a>
<a href="http://www.test.com/News/123.html">这个a标签要</a>
*/
string str = "<a href=\"www.example.com/News/123.html\">这个a标签要</a>"
+ "<a href=\"/News/123123.html\">这个a标签要</a>"
+ "<a href=\"/News/\">这个a标签不要</a>"
+ "<a href=\"/News/123\">这个a标签要</a>"
+ "<a href=\"http://www.test.com/News/123.html\">这个a标签要</a>"
+ "<a href=\"http://www.test.com/News/123.aspx\">这个a标签不要</a>"
+ "<a href=\"http://www.test.com/News/123.asp\">这个a标签不要</a>";
Regex reg = new Regex(@"<a[^>]*?href=(['""\s]?)([^'""\s]*?/News/[^'""\.]+(\.html)?)\1[^>]*?>");
MatchCollection match = reg.Matches(str);
foreach (Match m in match)
{
Response.Write(m.Groups[2].Value + "<br/>");
}
/*
www.example.com/News/123.html
/News/123123.html
/News/123
http://www.test.com/News/123.html
*/
http://blog.youdao.com/search?q=%E5%82%A8%E6%B0%94%E7%BD%90&start=0&t=a&keyfrom=blog.page1匹配关键字是 要包含 /blog/static/ 的a标签