正则表达式的贪婪模式和非贪婪模式,如何取div ,li 标签的循环内容,采集别人网站的内容

最近一直在研究正则表达式,原来接触过一段时间,但好久没有用了,基本都忘光了,然后上个礼拜五,又开始学习正则表达式,周末在家做了个采集电影院网站信息的一个程序,疯狂的实验了把正则,发现了一些常用的匹配正则和一些正则表达式工具。MTracer正则表达式验证工具,一般好用,我是只下载了个这个玩了一会觉得上手挺简单的,就推荐下。

正则表达式工具下载地址:MTracer.rar

(首先打开工具,在右边有上下两个输入框,上面那个是输入正则的,下面那个是输入要匹配字符串的,上下内容输入好以后,就可以单击匹配按钮了,如果觉得匹配ok的话,就可以直接单击上面菜单的代码生成,来生成你要的C#代码,java代码,Script代码等等)

比如我要匹配两个标签里的所有东西如<div>asdawdsadwdasdmwioa<br><a href=1213.aspx>sdasd</a></div>

我要匹配两个Div之间的东西,那么就应该写

<div>[/S/s]*</div>

注意,你用request对象去请求回来的页面是带有/r 、/n 、/t这些标签的,所有你要学会如何去表示这些标签,另外捕获<div>标签的时候,你是否要最大限度的匹配还是要最小限度的去匹配,下面就说明下这两种模式 贪婪模式 和 非贪婪模式 :

在正则表达式的匹配次数后面再添加一个 ? 表示 非贪婪模式
常用的匹配次数有 *、{m.n}、+

贪婪模式:
       表达式在可匹配可不匹配的时候,也是尽可能的 "要匹配"。
非贪婪模式
       表达式尽可能少的匹配,使可匹配可不匹配的表达式,尽可能的 "不匹配"。

如 <div><p>bdxxx</p></div> <div><p>taaaa</p></div>

表达式A1: <div>.*</div>
结果: 匹配1次

表达式A2:<div>.*?</div>
结果:匹配2次

表达式B1:<div>[/w/s<>/]{1,}?</div>
结果:匹配2次
去掉问号
结果:匹配1次

同理 将{1,}改+ 也可以得到相同的匹配结果,好了今天就写这么多了,哪天有空了再写写

你可能感兴趣的:(java,正则表达式,C#,div,工具,正则表达式工具)