【问题标题】:Regex to grab number in line正则表达式在行中获取数字
【发布时间】:2023-03-16 23:28:01
【问题描述】:

我有一个 html 文件,我正在从中读取下面的行。我只想使用 REGEX 抓取出现在“:”之后和“,”之前的数字...提前致谢

"totalPages":15,"bloodhoundHtml"

【问题讨论】:

  • 必须是正则表达式吗?

标签: python html regex web-scraping


【解决方案1】:
"totalPages":([0-9]*),

你可以看Demohere

那么python代码就是

import re

p = re.compile('"totalPages":([0-9]*),')
print p.findall('"totalPages":15,"bloodhoundHtml"')

【讨论】:

  • 这很好,但如果数字 15 并不总是 15 怎么办?
  • 但是我们不是在 findall 中搜索特定于 15 的行吗?
  • 没有在上面的行中定义正则表达式。在 findall 中,我们定义了要分析的文本。
  • 我建议你阅读官方python文档关于如何使用正则表达式docs.python.org/2/howto/regex.html
【解决方案2】:
:\d{1,},

也适用于解析您给出的行。根据this 的帖子,您在解析 HTML 时可能会遇到一些问题

【讨论】:

  • 所以会不会是 re.compile('"totalPages":\d{1,},"bloodhoundHtml"''
【解决方案3】:

您可以尝试:\d+, 获取“:15”, 然后你可以先修剪':'并修剪结束','以获得纯数字, 不知道python能不能在regex中使用变量,我是c#程序,在c#中可以用:(?<id>\d+),匹配这个字符串,直接通过result.group["id"]获取数字

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多