首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用正则表达式匹配到捕获组1

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

Stack Overflow用户
提问于 2017-11-12 02:12:14
回答 2查看 10.8K关注 0票数 0

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

<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>

为此,我使用了regex:title="(*?)",它返回Match (Group0):title="November 9, 2017" Group1:November 9, 2017

我需要正则表达式返回的匹配是日期,当前是组1。有没有简单的方法?我是regex的新手,但我可以在网上找到方向。

注意:我不会为日期的结构编写正则表达式,因为有些字符串有多个日期,而我只需要标题中的日期。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-12 02:31:29

您可以使用负向前视/后视来代替捕获组

代码语言:javascript
复制
(?<=title=\").+?(?=")

这将确保它从标题开始,而不是实际选择它

票数 5
EN

Stack Overflow用户

发布于 2017-11-12 02:31:25

您可以使用re.findall

代码语言:javascript
复制
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]

输出:

代码语言:javascript
复制
'November 9, 2017'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47241229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档