我想编辑下面的代码以捕获所有以“\u C[任何字母/任何数字/或什么都没有]”结尾的字符串
这是我的名单
name_list = ['chrome_PM',
'chrome_P',
'chromerocker_C',
'chromebike_P1',
'chromecar_CMale',
'chromeone_C1254',
'Lukate_Aids_Consumer_P']
for name in name_list:
counts_tail = re.compile('_C[\da-zA-Z_]*$')
if counts_tail.search(name):
print name
输出:
chromerocker_C
chromecar_CMale
chromeone_C1254
Lukate_Aids_Consumer_P
预期产量:
chromerocker_C
chromecar_CMale
chromeone_C1254
“Lukate\u Aids\u Consumer\u p”不应包含在内,因为它不以“\u C”结尾,如何编辑代码来处理此错误?你知道吗
谢谢
使用
re.compile('_C[^\W_]*$')
您可以简单地使用
re.compile('_C\w*$')
,但是\w
也包含_
,这不是必需的。所以最好的方法是使用re.compile('_C[^\W_]*$')
,它排除除字母、数字和以外的所有内容。你知道吗演示:
您发现最后一次出现的
_
后面是C
或不是:记住只有在字符串中不包含除数字、字母和
_
以外的字符时,才能使用此选项。否则,可以使用以下正则表达式:意思是
_C
,后跟\d|[a-zA-Z]
(数字或字母)的零次或多次出现,后跟$
(行尾)您只需要从最后一个字符类中删除
_
。你知道吗所以正确的形式是
由于character类中存在
_
,因此它匹配Lukate_Aids_Consumer_P
中的_Consumer_P
子字符串。你知道吗相关问题 更多 >
编程相关推荐