如何使用正则表达式匹配捕获组1

2024-05-18 10:09:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我的目标是从以下字符串捕获日期:

<span class="ui_bubble_rating bubble_50"></span><span class="ratingDate relativeDate" title="November 9, 2017">Reviewed 2 days ago </span><a class="viaMobile" href="/apps" target="_blank" onclick="ta.util.cookie.setPIDCookie(24487)"><span class="ui_icon mobile-phone"></span>via mobile </a>

为此,我使用正则表达式:title="(*?)" 返回Match(group 0):title="November 9, 2017"组1:November 9, 2017

我需要我的匹配返回正则表达式只是日期,什么是目前的组1。有简单的方法吗?我不熟悉regex,但我可以在网上找到方向。在

注意:我不为日期的结构编写regex,因为有些字符串有多个日期,我只想在标题中显示日期。谢谢!在


Tags: 字符串ui目标titlemobiledaysclassregex
2条回答

您可以使用否定的lookahead/lookbehind代替capture group

(?<=title=\").+?(?=")

这将确保它以标题开头,而不实际选择它

您可以使用re.findall

import re
s = """
  <span class="ui_bubble_rating bubble_50"></span><span class="ratingDate relativeDate" title="November 9, 2017">Reviewed 2 days ago </span><a class="viaMobile" href="/apps" target="_blank" onclick="ta.util.cookie.setPIDCookie(24487)"><span class="ui_icon mobile-phone"></span>via mobile </a>
  """
date = re.findall('title="(.*?)"', s)[0]

输出:

^{pr2}$

相关问题 更多 >