我有一个很大的单词列表,我想选择(过滤)那些具有3个或更多连续辅音的单词,除了一些特定的组合。
例如:
...
ikxzop
contribution
...
在该列表中,我想选择单词ikxzop
(它有kxz
)但不是contribution
(它有ntr
)。
我正在尝试这样的事情:
\w*[^aeiou]{3,}\w*\n
但是,这也选择了contribution
这个词,我不知道如何省略ntr
组合(以及其他常见组合为mpl
,bst
或rpr
)。
问候。
答案 0 :(得分:0)
怎么样:
\w*(?!ntr)(?!bst)(?!mpl)(?!rpr)[b-df-hj-np-tv-z]{3,}\w*
将匹配任何包含至少三个连续常量的单词,这些单词应该不是ntr
或bst
或mpl
等定义的。
[b-df-hj-np-tv-z]
表示常量而不是[^aeiou]
,因为后者允许行终止符,符号等(?!ntr)
否定前瞻以确保ntr
不应该是连续的三个常量。匹配ikxzop
与contribution
请注意,它会匹配ntrd
之类的字符串,尽管它包含ntr
,因为可以接受另外3个连续常量trd