XML标记的正则表达式

时间:2014-12-10 15:51:24

标签: ruby-on-rails ruby regex rubular

我很难找到以下文字:

<Reports>
   <Report active="1" valid="1" bureau="EXS"> Dummy Dummy</Report>
</Reports>

使用以下正则表达式:

/<Reports>.*<\/Reports>/

我正在使用rubular(我使用ruby)来测试它,但我不明白为什么我的RegEx会失败。

http://rubular.com/r/QEhgQ9Vgla

任何帮助?

2 个答案:

答案 0 :(得分:1)

您需要包含多行修饰符m

/<Reports>.*<\/Reports>/m

DEMO

答案 1 :(得分:0)

您可以在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"