我有这个HTML代码,只有一行:
<h3 class='r'><a href="www.google.com">fkdsafjldsajl</a></h3><h3 class='r'><a href="www.google.com">fkdsafjldsajl</a></h3>
这是行友好版本(我不能使用)
<h3 class='r'><a href="www.google.com">fkdsafjldsajl</a></h3>
<h3 class='r'><a href="www.google.com">fkdsafjldsajl</a></h3>
我正在尝试使用此REGEX提取网址
/<h3 class="r"><a href="(.*)">(.*)<\/a>/
它返回
www.google.com">fkdsafjldsajl</a></h3><h3 class='r'><a href="www.google.com"
找到“?
时,我该怎么做才能阻止它?答案 0 :(得分:3)
答案 1 :(得分:3)
叹息。正则表达式和HTML是如此尴尬的同床人:
require 'nokogiri'
html = %q{<h3 class='r'><a href="www.google.com">fkdsafjldsajl</a></h3><h3 class='r'><a href="www.google.com">fkdsafjldsajl</a></h3>}
doc = Nokogiri::HTML(html)
puts doc.css('a').map{ |a| a['href'] }
# >> www.google.com
# >> www.google.com
无论是深层嵌套还是全部在一条线上,都可以找到它们。