【问题标题】:Regular expression for XML tagXML 标记的正则表达式
【发布时间】:2015-02-08 21:33:03
【问题描述】:
我很难匹配以下文本:
<Reports>
<Report active="1" valid="1" bureau="EXS"> Dummy Dummy</Report>
</Reports>
使用以下正则表达式:
/<Reports>.*<\/Reports>/
我正在使用 rubular(我正在使用 ruby)来测试它,但我不明白为什么我的 RegEx 会失败。
http://rubular.com/r/QEhgQ9Vgla
有什么帮助吗?
【问题讨论】:
标签:
ruby-on-rails
ruby
regex
rubular
【解决方案1】:
你可以在REXML库的帮助下解决这个问题。
require 'rexml/document.rb'
doc = REXML::Document.new <<-DOC
<Reports>
<Report active="1" valid="1" bureau="EXS"> Dummy Dummy</Report>
</Reports>
DOC
doc.get_text("/Reports/Report") # => " Dummy Dummy"
【解决方案2】:
您需要包含多行修饰符m。
/<Reports>.*<\/Reports>/m
DEMO