字符串末尾数字的正则表达式Python

2024-10-01 07:18:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想得到所有字符串的布尔值,字符串的末尾有数字。例如

import re
# list of strings
li = ['/Usein-kysytyt-kysymykset;jsessionid=0727CD5A45A05D3CBD5A26D459C34D9D.xxlapp11',
      '/vaatteet/naisten-vaatteet/naisten-takit/c/120204',
      '/pyoraily/pyorailyvarusteet/pyorankuljetuslaukut-ja-vannepussit/c/100818_8']
for i in li:
    if(bool(re.match('\d+$', i))):
        print(i)

所以这应该起作用,并返回meTrue表示li[1],返回li[2],返回False表示li[0],但对于列表中的所有元素,它都返回false。这里怎么了?你知道吗


Tags: of字符串importre数字lilist末尾
3条回答

试试这个:

for i in li:
#get last occurrence of that string
    l = i[len(i) - 1]
    #if it is a number then do following
    if l.isdigit():
        print(i)

您可以使用re.findall()

for i in li:
    if(bool(re.findall('\d+$', i))):
        print(i)

python文档关于re.match

If zero or more characters at the beginning of string match the regular expression pattern, return a corresponding MatchObject instance.

若要确定字符串的最后一个元素是否为数字,请改用以下命令:

for i in li:
    if(bool(re.search(r'\d+$', i))):
        print(i)

相关问题 更多 >