【发布时间】:2013-08-09 05:32:21
【问题描述】:
我想从字符串<h1>test</h1><div>toast</div> 中提取“toast”。什么正则表达式可以隔离这样的字符串?
编辑:感谢更正格式的用户。
更多信息:div标签的实例永远只有一个,里面的信息可能会改变,但同一个字符串中永远不会有另一个div标签(字符串大于给定的样本)
谢谢!
【问题讨论】:
-
基于什么?你只想要任何 div 中的所有文本吗?这可能最好使用某种 dom 解析器而不是正则表达式。
-
@smerny 抱歉,我解决了这个问题。我的老板要求我使用正则表达式,所以我别无选择:/
-
Nokogiri是解析 HTML 和 XML 内容的最佳工具.. -
我们需要更多信息。字符串的哪一部分是可变的?例如,一个简单的解决方案可能是
regex = /<h1>test<\/h1><div>([^<]*)<\/div>/ -
嗯,这只是整个字符串的一小部分,所以不幸的是没有简单的解决方案起作用(我试过了,但正则表达式太笨重了)。所有标签都将始终保持不变,只是里面的内容(即“toast”)会改变
标签: ruby regex html-parsing