2010-05-14 77 views
0

我使用紅寶石1.8.7。我沒有使用rails。紅寶石正則表達式鏈接尚未在錨標記

如何找到所有尚未處於錨標記中的鏈接。

s = %Q{ <a href='www.a.com'><b>www.a.com</b></a> www.b.com <div>www.c.com</div> } 

上面的字符串的輸出應該是

www.b.com 
www.c.com 

我知道「B」標記之前www.a.com的情況複雜化,但是這就是我的工作。

+1

強制性邪神鏈接:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – 2010-05-16 23:10:41

回答

0

你將要使用真正的XML解析器(Nokogiri會這樣做)。正則表達式不適合這樣的任務。特別是在紅寶石1.8.7中,不支持負面看法。

0

骯髒的方式擺脫錨標籤。如果它們嵌套,就無法按照你想要的方式工作。還可以使用一個真正的解析器;-)

s.gsub(%r[<a\b.*?</a>]i, "") 
=> " www.b.com <div>www.c.com</div> "