提取文本python右侧的数字

Kha*_*oti -4 python

假设我在 python 中有一些字符串以某个数字结尾。

2te2xt12
text1
text143
te2xt341
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到最正确的数字序列:

2te2xt12  >>  12
text1     >>  1
text143   >>  143
te2xt341  >>  341
Run Code Online (Sandbox Code Playgroud)

有没有简单易行的方法。

我对 re 一无所知

提前致谢

fra*_*own 5

import re
s=r"""1231ololo767980716"""
re.match('.*?([0-9]+)$', s).group(1)

>>> '767980716'
Run Code Online (Sandbox Code Playgroud)

或者

next(re.finditer(r'\d+$', s)).group(0)
>>> '767980716'
Run Code Online (Sandbox Code Playgroud)

正则表达式组件说明:

  • .*? 是一个非贪婪匹配并且只消耗尽可能多的(贪婪匹配会消耗除最后一位数字之外的所有内容)。

  • [0-9]\d是捕获数字的两种不同方式。请注意,后者也匹配其他书写方案中的数字,例如??

  • 括号 (()) 使表达式的内容成为一个组,可以使用 group(1) 检索(或 2 表示第二组,0 表示整个匹配)。
  • + 表示多个条目(末尾至少有一个数字)。
  • $ 只匹配输入的结尾。

以及您可以在此处找到的所有组件:https : //www.rexegg.com/regex-quickstart.html非常有用的备忘单