我有标签:
val = "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Mobile Web</a>"
在我的测试中:
val[/(>.*<)/]
回报:
>Mobile Web<
我想返回文本:
Mobile Web
你可以用Nokogiri解析它:
require 'nokogiri'
html = '<a href="https://mobile.twitter.com" rel="nofollow">Mobile Web</a>'
elem = Nokogiri(html)
puts elem.text
您可以使用 match 并使用括号选择您想要的部分
/>(.*)</.match(val)[1]
我会使用像 hpricot 或 nokogiri 这样的 html 解析库来进行 html 解析,因为可能有很多带有正则表达式的极端情况,直到它在某个地方在生产中运行数月并中断之后才明显!
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
前瞻/后瞻将起作用。
val[/(?<=>)(.*)(?=<)/]