收到字母后跟连续数字正则表达式

时间:2019-09-18 04:28:58

标签: regex python-3.x string text

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,}'

要获得我想要的输出?

2 个答案:

答案 0 :(得分:1)

A的两端使用单词边界,然后输入7位数字:

\bA\d{7}\b

请参见live demo

单词边界停止输入,例如以下匹配项:

BA1234567
A12346778

答案 1 :(得分:0)

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

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

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