正则表达式用于多行文本中的匹配组

时间:2019-04-27 23:37:53

标签: regex python-3.x

我有多行文本,我想在“下一个”文本(在本例中为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。

1 个答案:

答案 0 :(得分:0)

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