我的目标是从以下字符串中捕获日期:
<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的新手,但我可以在网上找到方向。
注意:我不会为日期的结构编写正则表达式,因为有些字符串有多个日期,而我只需要标题中的日期。谢谢!
发布于 2017-11-12 02:31:29
您可以使用负向前视/后视来代替捕获组
(?<=title=\").+?(?=")这将确保它从标题开始,而不是实际选择它
发布于 2017-11-12 02:31:25
您可以使用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'https://stackoverflow.com/questions/47241229
复制相似问题