请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

我在中括号中加入点字符无法识别".*(\d{4}[年/-.]\d{1,2}([月/-.]\d{1,2}|[月/-.]$|$))"

#_*_ coding: utf-8 _*_
__author__ = 'wangyh'
import re
#提取年龄
line = ["xxx出生于2011年11月11日","xxx出生于2012.11.01","xxx出生于1991/01/03",
        "xxx出生于2011-1-11","xxx出生于2011/11","xxx出生于2011-11"]
regex_str = ".*(\d{4}[.年/-]\d{1,2}([.月/-]\d{1,2}|[.月/-]$|$))"
for l in line:
        match_obj = re.match(regex_str,l)
        if (match_obj):
            print(match_obj.group(1))


正在回答 回答被采纳积分+3

1回答

提问者 剧毒碳酸0 2017-11-21 10:34:30

补充一下,点加入的位置不同对代码是有影响的。上述代码可以正常运行,但是改成

".*(\d{4}[年/-.]\d{1,2}([月/-.]\d{1,2}|[月/-.]$|$))"

就无法正常运行了

0 回复 有任何疑惑可以回复我~
  • bobby #1
    regex_str = ".*(\d{4}[年/\-.]\d{1,2}([月/\-.]\d{1,2}|[月/\-.]$|$))" 这个就可以了, 你需要搞清楚 - 在中括号中代表的含义 http://www.cnblogs.com/snandy/p/3662423.html 你可以看看这个文章
    回复 有任何疑惑可以回复我~ 2017-11-23 09:51:35
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信