asp.net正则表达式学习例子
asp.net 获取网页Document时常会用到
edited by:曹永思-博客园
1、获取某个class的div内的标签
获取<div class="imgList2">****</div>内的标签
方法一:
string g = " <div.*?class=\"imgList2\">(?<html>[\\s\\S]*?)</div>";
Regex reg = new Regex(g, RegexOptions.None);
MatchCollection mc = reg.Matches(strResult);
string v = "";
foreach (Match m in mc)
{
v += m.Value + "\r\n";
}
方法二(通用方法,获取指定前后内容之间的内容):
string list_a_group_str = GetValue(strResult.Trim(), "<div class=\"imgList2\">", "</div>");
public static string GetValue(string str, string start, string end)
{
Regex regex = new Regex(string.Concat(new string[] {
"(?<=(",
start,
"))[.\\s\\S]*?(?=(",
end,
"))"
}), RegexOptions.Multiline | RegexOptions.Singleline);
return regex.Match(str).Value;
}
2、获取所有a标签的href和text
获取<div class="page both\"></div>里所有a标签的href和text
string list_page_group_str = GetValue(strResult.Trim(), "<div class=\"page both\">", "</div>");
Regex reg = new Regex(@"(?is)<a(?:(?!href=).)*href=(['""]?)(?<url>[^""\s>]*)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
MatchCollection mc = reg.Matches(list_page_group_str);
foreach (Match m in mc)
{
string url = m.Groups["url"].Value + "\n";
string text = m.Groups["text"].Value + "\n";
}
asp.net正则表达式学习例子的更多相关文章
- Python正则表达式学习摘要及资料
摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...
- ASP.NET MVC学习之过滤器篇(2)
下面我们继续之前的ASP.NET MVC学习之过滤器篇(1)进行学习. 3.动作过滤器 顾名思义,这个过滤器就是在动作方法调用前与调用后响应的.我们可以在调用前更改实际调用的动作,也可以在动作调用完成 ...
- ASP.NET MVC学习笔记-----Filter2
ASP.NET MVC学习笔记-----Filter(2) 接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用 ...
- Asp.Net MVC学习总结之过滤器详解(转载)
来源:http://www.php.cn/csharp-article-359736.html 一.过滤器简介 1.1.理解什么是过滤器 1.过滤器(Filters)就是向请求处理管道中注入额外的 ...
- Python 正则表达式学习
摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2, ...
- ASP.NET MVC学习笔记-----Filter(2)
接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用,它需要实现IActionFilter接口: public ...
- WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)
WebAPI调用笔记 前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...
- Python 正则表达式学习摘要及资料
来源:Michael_翔_ 摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会 ...
- javascript正则表达式 - 学习笔记
JavaScript 正则表达式 学习笔记 标签(空格分隔): 基础 JavaScript 正则表达式是用于匹配字符串中字符组合的模式.在javascript中,正则表达式也是对象.这些模式被用于Re ...
随机推荐
- poj 1416 (hdu 1539)Shredding Company:剪枝搜索
点击打开链接 题目大意是有一个分割机,可以把一串数字分割成若干个数字之后求和,题目输入一个数字上界和待分割的数字,让我们求出分割后数字之和在不超过给定max的情况下的最大值,并且给出分割方案,如果没有 ...
- xfce 双击窗口标题栏无法最大化解决办法
From: http://hi.baidu.com/jhang20081616/item/0b36ca1d2137df592b3e2219 0.前提是已经在window manager里设置了doub ...
- 在linux下获取帮助
1.使用man手册页 man是一种显示Unix/Linux在线手册的命令.可以用来查看命令.函数或文件的帮助手册,另外它还可以显示一些gzip压缩格式的文件. 读者在遇到不懂的命令时,可以用man查看 ...
- android menu的问题
1.简单使用 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.me ...
- 关于thinkphp 中的字段自动检查机制
在thinkphp中有很好用的自动检查机制$_validate() 但是必须与create接收配合使用 可以很方便的帮助我们去判断 namespace Home\Model;use Think\Mod ...
- 网站搭建 so easy
服务器(国际购买):http://www.gigsgigscloud.com/ 域名(阿里云): 解析到服务器 服务器需要安装 1.putty 2.CuteFTP(自己感觉这个靠谱点) / ...
- COM的永久接口
COM的永久接口
- SQL Server中的三种物理连接操作
来源:https://msdn.microsoft.com/zh-cn/library/dn144699.aspx 简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Out ...
- Couldn't resolve Mac Server "mymac"
vs2015创建一个iphone app ,Couldn't resolve Mac Server “mymac” 伤.下班走人
- Spring----->projects----->Spring Web Flow
1.概述(about Spring Web Folw) Spring Web Flow是spring社区一个子project Spring Web Flow builds on Spring MVC ...