首页 > 解决方案 > 得到字母后跟连续数字正则表达式

问题描述

import re
s = 'A1902022 N18-2181 A1234567 1-22-2001 A928882190 '

我有以下字符串s,我想得到字母A后跟 7 位数字。我试过以下

reg = r'[()\d]{7,}'
r1 = re.findall(reg,s)

这给了我

['1902022', '1234567', '928882190']

我想要以下输出

['A1902022', 'A1234567']

我该如何调整

 reg = r'[()\d]{7,}'

得到我想要的输出?

标签: regexpython-3.xstringtext

解决方案


A最初匹配一个。因为字符串中没有任何括号,所以()在字符集中包含似乎没有用 - 然后,只需将 7 个数字与 匹配\d{7},并确保后面没有另一个数字:

A\d{7}(?!\d)

https://regex101.com/r/WZiNjk/1


推荐阅读