打印不以给定模式python结尾的项

2024-09-30 05:26:23 发布

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

我有一份清单:

mylist = ['summer_C','summer_C1','summer_P','summer_C123','summer_p32']

我想打印所有不以以下图案结尾的项目:

^{pr2}$

所以可能是'u C'或''u C1'或''u C2939'

我的尝试:

for item in mylist:
    if item[-2:] != '_C' or item[-x:] != '_C(INT)'
        print item

正如你所看到的,它不是很动态,我如何处理这个问题?在


Tags: or项目inforif结尾item图案
2条回答

您可以为此使用regex:

import re

r = re.compile(r'_C\d+$')
mylist = ['summer_C','summer_C1','summer_P','summer_C123','summer_p32']
print [x for x in mylist if not r.search(x)]
#['summer_C', 'summer_P', 'summer_p32']

正则表达式解释:http://regex101.com/r/wG3zZ2#python

使用正则表达式:

import re

numeric_tail = re.compile('_C\d*$')

for item in mylist:
    if not numeric_tail.search(item):
        print item

该模式匹配文本_C,后跟0个或更多个数字,在字符串末尾用$锚定。在

演示:

^{pr2}$

相关问题 更多 >

    热门问题