gpt4 book ai didi

python - 正则表达式 : How to filter for two things at once

转载 作者:太空宇宙 更新时间:2023-11-04 08:09:23 25 4
gpt4 key购买 nike

我想要一个正则表达式来返回列表中仅包含辅音而不包含特殊字符的所有单词。

以下 Python 代码有效:

import re

words = ["xkcd", "word", "xml-"]
consonants_only = [x for x in words
if (re.search("^[^aeiou]+$", x)
and re.search("^[a-z]+$", x))]

print consonants_only

这会准确返回 ['xkcd']

我的问题是:这可以用一个正则表达式很好地完成吗?我正在寻找的是同时过滤 [^aeiou] 和 [a-z] 的通用方法。

最佳答案

嗯,你事先知道所有的辅音:

>>> import re
>>> words = ["xkcd", "word", "xml-"]
>>> pattern = re.compile(r'^[bcdfghjklmnpqrstvwxyz]+$')
>>> [word for word in words if pattern.match(word)]
['xkcd']

关于python - 正则表达式 : How to filter for two things at once,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25598714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com