【问题标题】:how to use regex in nokogiri xpath如何在 nokogiri xpath 中使用正则表达式
【发布时间】:2018-07-14 11:16:43
【问题描述】:
div class="ydpbfddd73dsignature" >......

如何使用 xpath 获取此标记后的任何文本?

我试过这样做

nokogiri_html=Nokogiri::HTML html
nokogiri_html.xpath('//div[@class="/.*signature/"]')

但它不起作用。

【问题讨论】:

  • 如何使用css选择器:nokogiri_html.css('div[class$="signature"]')
  • 我不认为正则表达式能达到你的预期。也许 /signature$/ ?

标签: ruby xpath html-parsing nokogiri


【解决方案1】:

你可以在XPath下面申请:

//div[substring(@class, string-length(@class) - 8)="signature"]

这意味着返回具有"signature"作为类名最后9个字符的div节点

【讨论】:

  • 工作!谢谢。你能指定为什么它是-8而不是-9吗? 8具体是什么?索引从 0 到 8?
  • 因为我们应该得到开始计数的字符索引。类名的字符串长度是20s的索引是12,所以要得到8我们应该做20 - 12 = 8。我希望这很清楚。如果您有任何问题,请告诉我
  • 如果我想添加一个条件,我想在 class=".......outlooksignature" 时排除条件?我不希望我的 xpath 函数单独处理这个案例。
  • //div[substring(@class, string-length(@class) - 8)="signature" and not(contains(@class, "outlooksignature"))]
猜你喜欢
  • 2011-02-14
  • 1970-01-01
  • 2020-11-21
  • 2018-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多