Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串末尾数字的正则表达式Python_Python_Regex_String - Fatal编程技术网

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

字符串末尾数字的正则表达式Python,python,regex,string,Python,Regex,String,我想得到所有字符串末尾有数字的布尔值。比如说 import re # list of strings li = ['/Usein-kysytyt-kysymykset;jsessionid=0727CD5A45A05D3CBD5A26D459C34D9D.xxlapp11', '/vaatteet/naisten-vaatteet/naisten-takit/c/120204', '/pyoraily/pyorailyvarusteet/pyorankuljetuslau

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

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)

因此,对于
li[1]
li[2]
False
对于
li[0]
这应该可以工作并返回我
True
,但是对于列表中的所有元素它都返回False。这里怎么了?

您可以使用
re.findall()


您可以使用
re.findall()

试试这个:

试试这个:


python文档关于
re.match

如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回相应的MatchObject实例

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

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

python文档关于
re.match

如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回相应的MatchObject实例

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

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

re.match
仅在字符串开头匹配。改用
re.search
re.match
应该可以,但是在
li
中,我看到所有字符串都以数字结尾,所以它应该返回所有字符串。你不认为
li[0]
也是真的,因为它以
11
结尾吗?是的,它也是真的。我以为是字母表。
re.match
只匹配字符串开头的字符。改用
re.search
re.match
应该可以,但是在
li
中,我看到所有字符串都以数字结尾,所以它应该返回所有字符串。你不认为
li[0]
也是真的,因为它以
11
结尾吗?是的,它也是真的。我以为是字母表。
for i in li:
    if(bool(re.search(r'\d+$', i))):
        print(i)