源串: s = 'ID: 042 SEX: M DOB: 1967-08-17 Status: Active 1968'
p = re.compile(r'(19|20)\d{2}')
s = 'ID: 042 SEX: M DOB: 1967-08-17 Status: Active 1968'
print p.search(s).group()
print p.findall(s)
我想找到19或20开头的, 后面捡完整的2位数字, 如 上面的表达式,
当调用 search的时候, 我希望输出 1967和1968, 而 p.findall我希望输出['1967','1968']
使ç¨re模åçsearchå½æ°ï¼è½è¿æ£å表达å¼æ¥æ¾ï¼ä»£ç å¦ä¸ï¼
import re(?<=æå®å符)æ¤é¨åå®ä½æå®å符ï¼æ¥æ¾ä½ä¸å å«
\d+æ¤é¨å为ä¸ä¸ªä»¥ä¸æ°å
è¿æ ·å°±å¯ä»¥æ¥æ¾åºæ°åå符串
没有再简单点的方式了么? 比如用一条语句 search或match搞定 多谢
追答...这已经很简单了..。你追求代码量少?
# -*- coding: utf-8 -*-
import re
s = 'ID: 042 SEX: M DOB: 1967-08-17 Status: Active 1968'
p = re.compile(r'(?:19|20)\d{2}')
print " ".join(re.findall(p,s))
print re.findall(p,s)