簡體   English   中英

正則表達式用於字符串Python末尾的數字

[英]Regex for digits in end of string 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)

所以這應該工作,並返回我Trueli[1]li[2]Falseli[0]但它返回列表中的所有元素假的。 這是怎么了

您可以使用re.findall()

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

嘗試這個:

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.match的python文檔:

如果字符串開頭的零個或多個字符與正則表達式模式匹配,則返回相應的MatchObject實例。

要確定字符串的最后一個元素是否為數字,請改用以下命令:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM