如何使用 Nokogiri 将正则表达式与 p 标签文本匹配



我有使用 search 返回的 Nodeset

。我想找到一个包含"订单"或"{收入}"或"收入"

或"{收入}每年"的<p>标签,所以我写了一个正则表达式:

/(?i)order+|({*incomes*}*w*)/

现在我想要一个具有上述文本的<p>标签。如何使用 Nokogiri 的正则表达式来执行此操作?

如果您已经有一个想要使用正则表达式进一步搜索的NodeSet

re = /(?i)order+|({*[Ii]ncomes*}*w*)/
nodes = doc.search(…) # whatever you have already
orders = nodes.select{ |n| n.name=='p' && n.text =~ re }

但是,我会这样做:

orders = doc.xpath('//p[contains(.,"Order") or contains(.,"Income")]')

相关内容

  • 没有找到相关文章

最新更新