2024-04-23 21:00:45 发布
网友
我有一个单词列表,有“term”或“termNUM”模式,例如“term”或“term02”。 我想保存所有以数字结尾的术语,但删除纯字母的术语。你知道吗
我对regex完全陌生,我尝试了几个选项,得到了以下结果:
new_list = [x for x in old_list if re.match("[(^a-zA-Z_)\d]", x)]
它不工作,我知道它只需要一个小的地方调整,但我在regex有限的技能,不能做得很快。你知道吗
小费是高度赞赏的。你知道吗
>>> list = ["term", "term2", "term200"] >>> new_list = [x for x in list if re.match("^[a-zA-Z_]+\d+$", x)] >>> new_list ['term2', 'term200']
为什么要使用regex呢?你可以简单地检查最后一个字符是否是数字。i、 e
new_list = [x for x in old_list if x[-1].isdigit()]
r".*\d"
即任何字符(.)、任意次数(*)后跟一个数字(\d)。你的理解是正确的。你知道吗
.
*
\d
你也可以这样做
[x for x in old_list if x[-1].isdigit()]
假设空字符串不在列表中。我更喜欢这个选项,因为它的作用更明确。你知道吗
为什么要使用regex呢?你可以简单地检查最后一个字符是否是数字。i、 e
即任何字符(
.
)、任意次数(*
)后跟一个数字(\d
)。你的理解是正确的。你知道吗你也可以这样做
假设空字符串不在列表中。我更喜欢这个选项,因为它的作用更明确。你知道吗
相关问题 更多 >
编程相关推荐