在 python 字符串中,如何检测最后一个数字
下面是使用 re.sub
的方法:
import re
input = ['asdgaf1_hsg534', 'asdfh23_hsjd12', 'dgshg_jhfsd86']
for s in input:
print re.sub('.*?([0-9]*)$',r'1',s)
输出:
534
12
86
解释:
该函数采用 regular expression
,replacement string
和你想要对它的进行替换的string
: re.sub(regex,replace,string)
正规表达式 '.*?([0-9]*)$'
匹配整个字符串并捕获字符串末尾的数字。 括号用于捕获我们感兴趣的匹配部分,1
指第一个捕获组和 2
第二个。
简单的正规表达式 可以检测字符串末尾的数字:
'd+$'
$
匹配字符串的结尾。 d+
匹配一个或者多个数字。 默认情况下,+
运算符是贪婪的,这意味着它与尽可能多的数字匹配。 这将匹配字符串字符串末尾的所有字符。