我在以下模式中有一系列字符串:
string = 'ABCD 1NAME 123456'
.我需要提取最后的数字才能生成ID.我试图使用该isdigit
方法,但问题是它还返回名称前的数字.
注意事项:
len
最后一位数字的范围是5到9.有人可以建议我另类吗?我认为我需要测试前一个位置或下一个位置是否为数字才能提取id,但我无法弄清楚如何实现此测试.
你可以使用正则表达式:
import re
pattern = re.compile('\d{5,9}$')
for match in pattern.findall('ABCD 1NAME 123456'):
print(match)
Run Code Online (Sandbox Code Playgroud)
产量
123456
Run Code Online (Sandbox Code Playgroud)
上述正则表达式意味着:
\d{5,9}
匹配一组5 - 9位数$
意味着数字组必须在末尾,如果该组可以在字符串中的任何位置,则只删除此符号.