在 python 字符串中,如何检测最后一个数字

在 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 expressionreplacement string 和你想要对它的进行替换的string: re.sub(regex,replace,string)

正规表达式 '.*?([0-9]*)$' 匹配整个字符串并捕获字符串末尾的数字。 括号用于捕获我们感兴趣的匹配部分,1 指第一个捕获组和 2 第二个。

简单的正规表达式 可以检测字符串末尾的数字:

 
'd+$'

 

$ 匹配字符串的结尾。 d+ 匹配一个或者多个数字。 默认情况下,+ 运算符是贪婪的,这意味着它与尽可能多的数字匹配。 这将匹配字符串字符串末尾的所有字符。


你可能感兴趣的:(在 python 字符串中,如何检测最后一个数字)