如何匹配包含每个元音的单词至少一次?
问问题
898 次
2 回答
4
这取决于你所说的“元音”是什么意思——就此而言,你所说的“单词”也是什么意思——但正常的方式是这样的:
(?xsi)
(?= .* a)
(?= .* e)
(?= .* i)
(?= .* o)
(?= .* u)
(?= .* y)
但你不想那样做。您想将逻辑连接放在适当的编程语言中,而不是正则表达式中,这会导致这样的事情(忽略大小写问题):
/a/ && /e/ && /i/ && /o/ && /u/ && /y/
什么是元音?
请注意,整个“元音”问题非常荒谬,因为任何连续音都可以表现得像元音,即使它看起来不像元音。这意味着一些看起来不像元音的字母是。另外,有时字母看起来像元音,但不是。
例如,s是psst , little中的第二个l,acre中的r和nth中的n都充当元音。另外还有著名的单词cwm,来自威尔士语,其中w是元音。
此外,Mike 中的e不是元音,而i有一个双元音(两个元音融合)。
此外,虽然天空中的y是元音,但黄色中的y不是元音。
你必须弄清楚你认为在诸如lie或speak甚至queue之类的词中有多少个元音。
最后,如果您有变音符号,您必须决定是否将它们单独计算。e、é、è和ê只是一个元音还是四个?
于 2012-04-25T21:42:30.570 回答
2
这个怎么样
\s* (?= \S* a) (?= \S* e) (?= \S* i) (?= \S* o) (?= \S* u) (?= \S* y) (\S*)
于 2012-04-25T22:30:20.703 回答