regex - 多行文本中匹配组的正则表达式
问题描述
我有这个多行文本,我想在“下一个”文本之前提取数值(在本例中为 13)。数值会改变,但位置会保持不变,它表示网站上的总页面数。我无法编写正确的正则表达式来返回此值:
Previous
1
2
3
...
13
Next
Showing 1 - 100 of 1227 Results[EXTRACT]
pattern =re.compile(r'(\d{1,2})\r\nNext', re.M)
result = pattern.match(text)
预期返回值为 13。
解决方案
import re
t = """Previous
1
2
3
...
13
Next
Showing 1 - 100 of 1227 Results[EXTRACT]"""
re.search(r"\d+(?=\s+Next)", t).group(0)
Returns: '13'
正则表达式执行前瞻断言,以查看是否有任何数量 (>1) 的数字后跟任何数量 (>1) 的空白字符和单词Next
。
推荐阅读
- python-3.x - 为什么我的 Dockerized Flask 应用程序在 mail.send 上超时?
- javascript - 如何在列表中的指定单击按钮上设置“加载器”状态:反应
- hive - 如何为源命令传递beeline hive var?
- r - 如何在 shinyApp 中将边框半径设置为 valueBox()?
- python - 如何在python中从具有多个掩码的单个图像创建包含每个图像一个实例掩码的单独图像
- python - 当新事件进入事件队列时如何取消matplotlib回调事件?
- mysql - 宏后的 MS 访问无法在链接表中插入新创建的记录
- c# - 来自 API 的 HttpResponseMessage 返回类型的空参数异常
- virtual-machine - 带有 guestinfo 属性的 VMWare 环境中的 ovf 部署
- python - Selenium:无法遍历页面上的子表,我在正确的框架中吗?