【发布时间】:2013-09-21 00:17:07
【问题描述】:
我有类似的 HTML:
<div id="c_pcnb" style="height:11px;width:4px;visibility:hidden;position:absolute;">
我想总结4px 和11px,但我不知道怎么做。我只是得到这些值,但我没有使用组和两个值。我该怎么做?
@sizes = (/height:([\d]+)px;width:([\d]+)px;visibility:hidden;position:absolute;/.match body_text)
我必须将高度 + 宽度相加。
当我尝试@sizes[1] + @sizes[2] 时出现错误。我做错了什么?
【问题讨论】:
-
不要使用正则表达式解析 HTML。使用适当的 HTML 解析模块。 您无法使用正则表达式可靠地解析 HTML,并且您将面临悲伤和挫败感。一旦 HTML 与您的期望发生变化,您的代码就会被破坏。有关如何使用已经编写、测试和调试过的 Ruby 模块正确解析 HTML 的示例,请参阅 htmlparsing.com/ruby。
-
@AndyLester 和 Arup 的回答,如果 11px;width:4px 是动态的,而不是 const 会怎样
-
这是XY question;当您真正应该询问如何解析 HTML 以可靠地从中提取数据时,您想要一个使用正则表达式解析 HTML 的答案。
标签: ruby regex html-parsing