【发布时间】:2012-01-10 03:24:52
【问题描述】:
我正在使用 REXML Ruby 解析器来解析 XML 文件。但是在带有 64 位 Ruby 的 64 位 AIX 机器上,我收到以下错误:
REXML::ParseException: #<REXML::ParseException: #<RegexpError: Stack overflow in
regexp matcher:
/^<((?>(?:[\w:][\-\w\d.]*:)?[\w:][\-\w\d.]*))\s*((?>\s+(?:[\w:][\-\w\d.]*:)?[\w:][\-\w\d.]*\s*=\s*(["']).*?\3)*)\s*(\/)?>/mu>
类似的调用是这样的:
REXML::Document.new(File.open(actual_file_name, "r"))
有人知道如何解决这个问题吗?
【问题讨论】:
-
这是你的正则表达式野兽还是来自 REXML?
-
它来自 REXML。这不是我写的正则表达式。我只是使用 REXML 来解析一个 xml 文档
-
所以,REXML 给出了“正则表达式的野兽”:D
标签: ruby-on-rails ruby xml-parsing rexml