繁体   English   中英

尝试匹配此正则表达式

Trying to match this regex

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我一直试图匹配此正则表达式无济于事。 我需要做的是一个非贪婪匹配,在这种情况下,它将使最新数字与特定单词匹配:下一个:

这是文本:

<a href="/forum/view-forum/standard-trading-shops/page/1">Prev</a>
<a href="/forum/view-forum/standard-trading-shops/page/1">1</a>
<a class="current" href="/forum/view-forum/standard-trading-shops/page/2">2</a>
<a href="/forum/view-forum/standard-trading-shops/page/3">3</a>
<a href="/forum/view-forum/standard-trading-shops/page/4">4</a>
<span class="separator">...</span><a href="/forum/view-forum/standard-trading-shops/page/3029">3029</a>
<a href="/forum/view-forum/standard-trading-shops/page/3030">3030</a>
<a href="/forum/view-forum/standard-trading-shops/page/3">Next</a>

我需要找到3030作为我的答案,从广义上讲是最高的数字。

我累了要做什么:

(/d)+.*?Next

但是,这始终与(1)第二行的第一个数字匹配,而不是最高的数字3030。根据我的理解, .*? 进行非贪心匹配,该匹配应匹配最新匹配项。

谁能帮我? 谢谢M

3 个回复
^[\s\S]*>(\d+)<

您可以尝试使用此方法。与group 1capture 1 。请参阅演示。

https://regex101.com/r/sJ9gM7/28

在这里,您要进行一个greedy match直到一个number 。所以这将在><之间最后一次出现的数字处停止。 . 默认情况下不会匹配换行符,因此可以使用DOTALL[\\s\\S]

用正则表达式解析HTML通常是不明智的。 该网站解释了原因,并为您提供了所有主要语言的更好选择。

您尚未指定要使用的语言,但是此正则表达式在大多数情况下都适用:

(\d+)(?:<[^>]+>[^<]*){2}Next

正则表达式可视化

Debuggex演示

该数字将在第一个捕获组中。 有效我说后的数目应该{2}的实例<不在然后任何字符>直到>和任选的一些字符是不<直到下一个实例。 <something>这两个实例之后应该是单词Next

使用BeautifulSoup是解析HTML的首选方法。

s = """<a href="/forum/view-forum/standard-trading-shops/page/1">Prev</a>
<a href="/forum/view-forum/standard-trading-shops/page/1">1</a>
<a class="current" href="/forum/view-forum/standard-trading-shops/page/2">2</a>
<a href="/forum/view-forum/standard-trading-shops/page/3">3</a>
<a href="/forum/view-forum/standard-trading-shops/page/4">4</a>
<span class="separator">...</span><a href="/forum/view-forum/standard-trading-shops/page/3029">3029</a>
<a href="/forum/view-forum/standard-trading-shops/page/3030">3030</a>
<a href="/forum/view-forum/standard-trading-shops/page/3">Next</a>"""

from bs4 import BeautifulSoup

soup = BeautifulSoup(s)
text = soup.text.splitlines()
index = text.index('Next')
result = text[index-1]

>>> print result
3030

不像正则表达式那样优雅,但这是正确的方法。

1 尝试在Java中匹配此正则表达式:

我有以下字符串: 我想拆分此字符串并仅获取“值”的内容,例如,在这种情况下,我想获取“ ValueNumber1”和“ ValueNumber2”(不带双引号)。 我已经尝试过类似的方法,但是没有成功: 你有什么建议吗? 提前Tnx。 ...

2 试图限制正则表达式匹配范围

Python newb在这里,请原谅问题。 我正在尝试从一组压缩文件中提取日志数据。 数据跨越多行,因此我尝试从压缩的tar文件中提取每个文件,并将其作为单个对象读取,如下所示:Regex: 我正在尝试匹配时间戳和日志文件中的其他两个组。 如果逐行打印,则日志数据看起来像这样: ...

5 正则表达式挂起试图找到匹配项

我正在尝试匹配VB代码中的赋值字符串(因为我正在将VB代码的文本传递到用C#编写的程序中)。 我要匹配的赋值字符串例如 而且我知道这很复杂,但实际上与我要匹配的某些真实文本相距不远。 为了做到这一点,我写了一个正则表达式。 此正则表达式: 正确匹配。 问题是它变得非常 ...

2017-07-15 18:36:28 1 82   c#/ regex
6 尝试将 url 路径名与 RegEx 匹配

我试图匹配这个: /Wedding到/Wedding/Areas /Wedding是要匹配的词。 我想我没有正确地逃避角色。 这就是我动态形成测试的方式。 欢迎任何帮助。 我认为这会更有帮助。 我正在尝试匹配 URL 为当前页面和子页面添加一个类 编辑: 这是我找到的替代 Re ...

7 正则表达式试图在php中匹配

我试着做一个正则表达式为包含字符串[[Title#Night|Anchor]]或只是[[Title|Anchor]]和提取Title和Anchor 。 基本上是两个变量,第一部分在[[ and |之间 和第二部分之间| and ]] | and ]] ,无论其中包含什么类型的字符(\\ n ...

2013-12-18 01:51:37 2 54   php/ regex
8 尝试通过REGEX匹配文本

第一次发布,并且需要一些正则表达式匹配的帮助,我正在尝试提出。 这是我的格式 我正在尝试编写一个仅捕获用户名然后仅捕获域的正则表达式匹配项。 我的想法是首先匹配所有文本,然后创建(3)个组? 基于此,我将获得所需的信息。 有什么建议吗? 例子? ...

2016-01-11 18:46:07 4 73   regex/ tcl
10 尝试使用正则表达式匹配URL

我正在尝试使用正则表达式匹配URL 但是,如果URL后面出现空格,则无法理解如何结束比赛。 例如在下面的图像中,对于最后一场比赛,我希望它在空格之前结束。 但是似乎没有任何作用。 您能否解释一下为什么在末尾添加\\ b(单词边界)无效吗? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM