大家好,我想写一个正则表达式匹配网页源文件中的href中的内容,但结果总是不如人意.
我写的如下: +href *= *["']?\S*["']?[> ]+
匹配下面的字符串时,得出的结果不满意:
<a Href = www.com/h.htm><img width="3"
得出的结果如下:Href = www.com/h.htm><img .但我其实想得到的是这样的结果:Href = www.com/h.htm>谢谢了.P.S. 我认为链接后有空格的话,则认为链接结束,这样是不是不严谨?
我写的如下: +href *= *["']?\S*["']?[> ]+
匹配下面的字符串时,得出的结果不满意:
<a Href = www.com/h.htm><img width="3"
得出的结果如下:Href = www.com/h.htm><img .但我其实想得到的是这样的结果:Href = www.com/h.htm>谢谢了.P.S. 我认为链接后有空格的话,则认为链接结束,这样是不是不严谨?
一直读到“<”号出现之前。看你的要求,也可以读到“>”出现之后:(应该比读到空格要好)
[\s\S]*(?<res>Href[^>]*>)[\s\S]*
就楼主所给出的数据,如果要取其href的内容,可以参考下面的方法(?<=<a\s*)Href\s*=\s*\S*\s
我认为链接后有空格的话,则认为链接结束,这样是不是不严谨?
----
在符合标准的标签中,这是没有问题的