我有标签:
val = "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Mobile Web</a>"
在我的测试中:
val[/(>.*<)/]
回报:
>Mobile Web<
我想要返回文字:
Mobile Web
答案 0 :(得分:7)
您可以使用Nokogiri解析它:
require 'nokogiri'
html = '<a href="https://mobile.twitter.com" rel="nofollow">Mobile Web</a>'
elem = Nokogiri(html)
puts elem.text
答案 1 :(得分:2)
你可以使用匹配并用括号选择你想要的部分
/>(.*)</.match(val)[1]
我会使用像hpricot或nokogiri这样的html解析库进行html解析,因为可能会出现很多带有正则表达式的极端情况,直到它在某个地方运行数月之后才会出现。符!
答案 2 :(得分:0)
前瞻/后视将起作用。
val[/(?<=>)(.*)(?=<)/]
答案 3 :(得分:0)
require 'nokogiri'
html = '<a href="https://mobile.twitter.com" rel="nofollow">Mobile Web</a>'
elem = Nokogiri::HTML::DocumentFragment.parse(html).child
p elem.text #=> Mobile Web