日期:2014-05-17  浏览次数:21198 次

正则提取a链接的一部分?
<a href="http://fdsfds.com/http://www.123.com/fdfd.htm">1</a>
<a href=http://dsfdfd.cn/http://asd.tret.com/5354.htm>2</a>
<a href='http://fsef.net/http://trtgfgf.123.com?45gfdgf'>3</a>
本页链接http://www.grger.com/http://trtf.12fd3.com/435435.htm


只想提取a链接中的红色部分,a以外的蓝色部分不理会
红色部分的前斜杠是肯定有的,

asp的正则怎么写啊?


------解决方案--------------------
(?<=/)(http.*?)(?=[>|'|"|\s])

从 /之后,跟着 http 字符的内容,遇到 >、'、"和任意空白字符(换行、制表符等)结束

(<a.*?/(http:.*?)["| |'|>]) 

以 <a 开始匹配,非贪婪模式至第一个/http,遇到 "、空格、'、> 结束

相比起来,都能取出符合你要求的内容,不过你得到的结果比我的要多一些无效的内容

My Match

<a href="http://fdsfds.com/http://www.123.com/fdfd.htm">1</a>
<a href=http://dsfdfd.cn/http://asd.tret.com/5354.htm>2</a>
<a href='http://fsef.net/http://trtgfgf.123.com?45gfdgf'>3</a>
本页链接http://www.grger.com/http://trtf.12fd3.com/435435.htm

Your Match

<a href="http://fdsfds.com/http://www.123.com/fdfd.htm">1</a>
<a href=http://dsfdfd.cn/http://asd.tret.com/5354.htm>2</a>
<a href='http://fsef.net/http://trtgfgf.123.com?45gfdgf'>3</a>
本页链接http://www.grger.com/http://trtf.12fd3.com/435435.htm