【问题标题】: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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 2011-11-21
      • 2016-07-28
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多