如何使用正则表达式来匹配具有特定前缀的年份?

时间:2017-06-22 11:57:26

标签: regex python-3.x

如何在Python中使用正则表达式,以便从以下文本中提取'年' (但不包括其他数字):

built:1999   blt 2002   BLT2005 Built: 2013    date: 1999, 23  das23

我不想要任何其他号码,只需要"Built/blt/BLT/Built/...)

之后的号码

2 个答案:

答案 0 :(得分:0)

>>> t = 'built:1999 blt 2002 BLT2005 Built: 2013 date: 1999, 23 das23'
>>> d = re.findall(r'((Built|blt|BLT|Built)((:?)( ?)))(\d{4})', t, flags=re.IGNORECASE)
>>> [list(x)[5] for x in d]

制作:['1999', '2002', '2005', '2013']

答案 1 :(得分:0)

尝试使用此正则表达式:

(?:[Bb](?:ui)?(?:[lL][Tt]))(?:[\:\s]*)?(\d+)

Demo