Регулярное выражение для тега XML

Мне трудно найти следующий текст:

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

Используя следующее регулярное выражение:

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

Я использую Rubular (я использую Ruby), чтобы проверить его, но я не понимаю, почему мой RegEx терпит неудачу.

http://rubular.com/r/QEhgQ9Vgla

Любая помощь?

2 ответа

Решение

Вам нужно включить многострочный модификатор m,

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

DEMO

Вы можете решить проблему с помощью 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"
Другие вопросы по тегам