使用正则表达式抽取整个页面的特定内容是非常方便的,但在使用时有一些细节问题还是很关键的,比如合理的使用问号(?)可以取消贪婪的抽取问题。
比如页面中包含有很多段<p>…</p>,如果我们使用下面的方法抽取:
1
2
|
Regex rx = new Regex( "<p>(.*)</p>" );
Match match = rx.Match(str); // match.NextMatch(); 可用来取下一个
|
结果是只提出一个,内容是从第一个<p>开始到最后一个</p>结束。
这里我们只要加上问号,如下代码:
1
2
|
Regex rx = new Regex( "<p>(.*?)</p>" );
Match match = rx.Match(str); |
这时提到出来的就是一个个独立的<p>…</p>,有时这才是我们想要的。
另外上面正则表达式里的括号也很有用,使用match.Group[0]得到匹配的结果,用match.Group[1]即得到括号中的内容。有多个括号按从外到内、从左到右的原则依次从Group里取。
PS. C#中还有个Group的概念,挺鬼异的,这里有解释,抽空研究一下:http://blog.csdn.net/zhoufoxcn/archive/2010/03/09/5358644.aspx
Updated:更多正则表达式的揭密参见这里:http://www.regexlab.com/zh/regref.htm
相关推荐
本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在JDK的下一版本中看到它。 然而,如果现在就需要使用正则表达式,又该怎么办呢?你可以从Apache...
正则表达式,正则表达式,正则表达式 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式
常用正则表达式 正则表达式 常用正则表达式 正则表达式
JavaScript的RegExp类表示正则表达式,而String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。 ECMAScript v3对JavaScript正则表达式进行了标准化。JavaScript 1.2实现了ECMAScript v3...
3、选择排除规则,一、按正则表达式把源码中符合正则的删除;二、按正则表达式把源码中符合正则的找出;三、符合正则表达式的显示True 4、选择是否不区分大小写(RegexOptions.IgnoreCase),单行模式...
正则表达式.rar正则表达式.rar正则表达式.rar正则表达式.rar
正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式...
书中贯穿了大量简洁明了的示例,旨在让读者轻松掌握正则表达式。此外,书中各在线和桌面工具一应俱全,并介绍了进阶参考资料,是一本不可多得的正则表达式入门好书。《学习正则表达式》适合对正则表达式感兴趣的...
书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,《正则表达式经典实例》给出了涉及...
正则表达式正则表达式正则表达式正则表达式 验证程序
Java正则表达式Java正则表达式Java正则表达式Java正则表达式
正则表达式帮助 有用的正则表达式帮助 有用的正则表达式帮助 有用的正则表达式帮助 有用的
正则表达式日期校验 正则表达式日期校验 正则表达式日期校验
pb 使用正则表达式源码pbregexp pb中使用正则表达式组件,通过该组件可以在pb脚本中使用功能强大的正则表达式
正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及WEB页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。 举例来说,...
UE正则表达式、UE正则表达式
正则表达式 正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式
而本软件正是把强大的正则功能完美地添加到表格中,让 Excel、WPS 支持正则表达式的搜索、匹配提取、替换、定位等,让数据处理能力进化一个层次! 让 Office Excel、WPS 表格支持正则表达式的免费插件:「Excel ...
正则表达式的使用 正则表达式的使用 正则表达式的使用 正则表达式的使用 正则表达式的使用
正则表达式总结正则表达式总结正则表达式总结正则表达式总结正则表达式总结正则表达式总结