如何找到ha和ho的非null组合

时间:2015-12-16 16:56:24

标签: python regex nltk

我正试图找到ha和ho的任何非空组合,例如hahahoho,ha,ho,hoha ......

chat_words = sorted(set(w for w in nltk.corpus.nps_chat.words()))

[w for w in words.words() if re.search('^[haho]+$',w)]

我得到的结果是:

['a',
 'aa',
 'ah',
 'aha',
 'aho',
 'h',
 'ha',
 'hah',
 'hao',
 'ho',
 'o',
 'oh',
 'oho',
 'a']

1 个答案:

答案 0 :(得分:1)

您的模式:'^[haho]+$'匹配这四个单独字符h,a,h,o的任意组合(自h重复以来3)。如果您想要专门匹配haho,则必须使用|令牌。

[w for w in words.words() if re.search('^(?:ha|ho)+$',w)]