从字符串中间抓取信息的正则表达式

时间:2021-01-03 03:14:04

标签: regex web-scraping

我正在使用 webscraper.io 构建一个网络爬虫。我正在抓取的一个字符串是以下一个:

<块引用>

畅销书排名:书籍第 597 名(参见书籍前 100 名)冯第 1 名 Shui (Books) #2 in Zen Philosophy (Books) #7 in Home Cleaning, 照料和搬迁

我正在尝试创建一个正则表达式,该表达式将仅从上述字符串中分离出第一个数字 (597)。该表达式应该能够提取此数字的任何格式,无论它是简单的 597 还是带有逗号分隔符的千百万(例如 1,30010,000,000)。

我尝试使用后视功能,但似乎 webscraper.io 或 Chrome 不喜欢这样并返回“空”结果。

有什么建议吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

使用这个正则表达式:

\d{1,3}(,\d{3})*

意思是:

  • \d{1,3} = 1 到 3 位数字
  • (,\d{3}* = 一个逗号,然后是 3 位数字,零次或多次