【问题标题】:Python Regular Expressions finds nothingPython 正则表达式什么也没找到
【发布时间】:2014-11-13 16:48:55
【问题描述】:

尝试使用Beautiful Soup 4在html代码中查找某些标签。有这样一个标签:

<a href='obec.php?kod_obce=511226'>Ábelová</a>

在 html 中。

问题是,当我尝试使用re.compile 时,bs4 找不到这些标签。

下面是部分代码:

obce = soup.findAll("a", attrs={'href':re.compile("obec.php?kod_obce.*")})

什么也没找到。

你知道出了什么问题吗?

【问题讨论】:

  • 您必须向我们提供一些示例数据。
  • 那不是文本而是文本节点。它是a 元素的内容
  • 看,现在我们有了上下文;这不是标签内容的问题,而是您的正则表达式的问题。
  • 附带说明,您应该将浏览器书签或 200K 磁盘空间的成本投入到一个好的正则表达式调试器上。例如,请参阅Debuggex。它会让你的生活更轻松。

标签: python regex beautifulsoup


【解决方案1】:

? 是正则表达式的特殊字符:表示p 或无字符。带有问号的字符串被拒绝。使用转义:

r"obec.php\?kod_obce.*"

【讨论】:

  • 最好将其写为原始字符串文字,这样您只需要转义?,而不是转义反斜杠。
  • @abarnert:已修改。更好?
  • 是的;太糟糕了,我已经给你投票了,但我也可以给评论投票。 :)
猜你喜欢
  • 2018-11-25
  • 1970-01-01
  • 2014-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-24
  • 2015-03-24
  • 2017-11-13
相关资源
最近更新 更多