<li><a href='asdsadas.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a></li>
解决方案 »
- 进度条
- treeview 的层次显示
- 模板列的问题,高手请进!!!
- 数据格式转换问题 急!
- ???菜鸟刚学用c#做asp.net网页,我想在前台做一个超连接,我写的不对吗?很简单的代码,请高手看看:
- 为什么没有人回答我?
- 如何改变DataGrid框中某行某列的字的颜色?
- ASP.NET的B/S项目中的textbox控件中是否有象c/s项目下的TextBox控件的Tag属性那样,
- 新人求教,如何实现类似短消息的实时提醒,在右上角马上给出提醒
- 读取远程的页面文件内容,但需要搜索结果的页面,请问如何实现???
- js resize 事件 为什么在页面加载中时改变窗口大小,不会触发啊
- 关于算法的一点想法???
(?is)(?<=\<a.*href=['"])[^>=]*(?=['"]{1}) //匹配 asdsadas.htm(?is)(?<=\<a.*)href=['"]?[^>='"]*['"]? //匹配 href='asdsadas.htm'
Regex reg = new Regex(@"<a[^>]*?href=(['""\s]?)([^'""\s]+)\1[^>]*?>");
foreach (Match m in reg.Matches(str))
{
Response.Write(m.Groups[2].Value);
}
/*
asdsadas.htm
*/
string str = "<li><a href='asdsadas.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a></li>";
Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""\s]?)([^'""\s]+)\1[^>]*?>");
foreach (Match m in reg.Matches(str))
{
Response.Write(m.Groups[2].Value);
}
/*
asdsadas.htm
*/
获取a标签中的 href
string str = "<li><a href='asdsadas.htm' target='_blank'><img src='http://sdsds.jpg'alt='ddddddddd'/><br />sssssssss</a></li><div><a href='div.htm' target='_blank'><img src='http://sdsds.jpg'alt='ddddddddd'/><br />sssssssss</a></div>";
Regex reg = new Regex("(?is)(?<=\\<li.*\\>\\<a.*href=['\"])[^>=]*(?=['\"]{1}|<img.*\\/>\\<\\/li\\>)"); str = reg.Match(str).Value; //只会匹配li里边的asdsadas.htm div里边的 div.htm不会匹配
自己这样写了一个 但是 如果很多
<li><a href='asdsadas.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a></li>
<li><a href='asdsadas.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a></li>
<li><a href='asdsadas.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a></li> 放在一起的话 它只会取到第一个。。
string str = @"<div><a href='div.htm' target='_blank'><img src='http://sdsds.jpg'alt='ddddddddd'/><br />sssssssss</a></div><li><a href='asdsadas.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a></li>
<li><a href='asdsadas.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a></li>
<li><a href='asdsadas.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a></li>";
Regex reg = new Regex("(?is)(?<=\\<li.*\\>\\<a.*href=['\"])[^>=]*(?=['\"]{1}|<img.*\\/>\\<\\/li\\>)"); MatchCollection mction = reg.Matches(str);
foreach (Match mc in mction)
{
Response.Write(mc.Value);//只会匹配li里边的asdsadas.htm div里边的 div.htm不会匹配
}
<li><a href='asdsadas.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a></li> 匹配这样的话
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups["url"].Value + "\n";
}
+ "<li><a href='2.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a></li>"
+ "<a href='3.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a>"
+ "<li><a href='4.htm' target='_blank'><img src='http://sdsds.jpg' alt='ddddddddd'/><br />sssssssss</a></li>";
Regex reg = new Regex(@"(?is)<li[^>]*?>\s*<a[^>]*?href=(['""\s]?)([^'""\s]+)\1[^>]*?><img[^>]*?>.*?</a>\s*</li>");
foreach (Match m in reg.Matches(str))
{
Response.Write(m.Groups[2].Value + "<br/>");
}
/*
2.htm
4.htm
*/