regex - 如何至少匹配包含每个元音的单词一次?

标签 regex

如何至少匹配包含每个元音的单词一次?

最佳答案

这取决于你所说的“元音”是什么意思——就此而言,你所说的“词”也是什么意思——但通常的方式是这样的:

(?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 不是元音。
  • 你必须弄清楚你认为在谎言或说话,甚至排队等词中有多少元音。
  • 最后,如果您有变音符号,您必须决定是否将它们视为单独的。 e、é、è 和 ê 只是一个元音还是四个元音?
  • 关于regex - 如何至少匹配包含每个元音的单词一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324115/

    相关文章:

    r - gsub 并删除 R 中 < 和 > 之间的所有字符

    regex - 英国电话号码正则表达式 - 没有空格或括号

    带有正则表达式的 Java String strip

    python - 匹配不连续/中断的字符串

    python - Python 正则表达式的命名约定?

    java - REGEX:如何使该语句成为 REGEX 中的 2 个匹配项

    regex - 具有命名子模式的正则表达式看不到最佳匹配

    regex - 确定行是否包含 1-4 个特定字符的正则表达式

    java - 使用正则表达式从字符串中提取数字

    python - 匹配多行文本 block 的正则表达式