我的目标是从以下字符串中捕获日期:
<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="(*?)"
返回匹配(组0):title="November 9, 2017"
组1:November 9, 2017
我需要正则表达式返回的匹配仅仅是日期,当前组是什么。有一种简单的方法吗?我是regex的新手,但我可以在网上找到方向。
注意:我没有为日期结构编写正则表达式,因为有些字符串有多个日期,我只想要标题中的日期。谢谢!
答案 0 :(得分:0)
您可以使用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]
输出:
'November 9, 2017'
答案 1 :(得分:0)
您可以使用负向前瞻/后视而不是捕捉组
(?<=title=\").+?(?=")
这将确保它以标题开头,而不是实际选择它