首页 > 解决方案 > 使用正则表达式获取年龄

问题描述

year="Year Of Birth (Age): 1953 (68)"

如何使用正则表达式仅提取括号中的数字年龄?上面的字符串是我需要从中提取数据的更大字符串的一部分,因此无法共享整个字符串。

我尝试了以下代码:

y = re.findall(r'(Age):\s[0-9][0-9][0-9][0-9]\s\(([0-9[0-9])', year)

需要一些帮助。

标签: pythonregex

解决方案


您可以查看断言断言,仅当括号中的数字在(Age)它之前,更具体地说,只有当它前面有与模式匹配的字符串时才能获取括号中的数字\(Age\):\s\d{4}\s

>>> re.findall('(?<=\(Age\):\s\d{4}\s)\((\d+)\)', year)
['68']

推荐阅读