Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何至少一次匹配包含每个元音的单词?_Regex - Fatal编程技术网

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

Regex 如何至少一次匹配包含每个元音的单词?,regex,Regex,如何至少一次匹配包含每个元音的单词?这取决于你所说的“元音”是什么意思——就这一点而言,你所说的“单词”也是什么意思——但通常的方式是这样的: (?xsi) (?= .* a) (?= .* e) (?= .* i) (?= .* o) (?= .* u) (?= .* y) 但你不想那样做。您希望将逻辑连接放在编程语言中,而不是放在正则表达式中,这会导致类似的情况(忽略大小写问题): 元音是什么? 请注意,整个“元音”问题相当荒谬,因为任何连续体都可以像元音一样工作,即使它看起来不像元音。这

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

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

(?xsi)
(?= .* a)
(?= .* e)
(?= .* i)
(?= .* o)
(?= .* u)
(?= .* y)
但你不想那样做。您希望将逻辑连接放在编程语言中,而不是放在正则表达式中,这会导致类似的情况(忽略大小写问题):

元音是什么? 请注意,整个“元音”问题相当荒谬,因为任何连续体都可以像元音一样工作,即使它看起来不像元音。这意味着一些看起来不像元音的字母是。此外,有时字母看起来像元音,但不是

  • 例如,s是psst,little中的第二个l,acre中的r,n中的n都是元音。还有一个著名的单词cwm,来自威尔士语,w是元音

  • 此外,Mike中的e不是元音,而i是双元音(两个元音融合)

  • 另外,虽然天空中的y是元音,但黄色中的y不是元音

  • 你必须弄清楚像lie或speak,甚至queue这样的词中有多少元音

  • 最后,如果你有变音符号,你必须决定是否将它们单独计算。e、é、è和è只是一个元音,还是四个元音

  • 这个怎么样

    \s* (?= \S* a)  (?= \S* e)  (?= \S* i)  (?= \S* o)  (?= \S* u)  (?= \S* y) (\S*)
    

    我想他在寻找像“abstemious”这样包含所有元音的单词。我知道这不应该用正则表达式来完成,但我只是好奇。但是我不能让你的第一个例子起作用;o@JohnConnor然后一起运行第一个解决方案,不留空格。您可能没有运行
    /x
    。@tchrist什么是
    (?xsi)
    ?(JS抱怨这不是一个有效的团体,fwiw。)@broofa-有点令人震惊。我想你可以试试。你厌倦了单个角色了吗?ie<代码>(?x),
    (?s)
    (?i)
    ?支持哪种类型?回答我自己的问题:请参阅的“修饰符”部分@sin:看起来JS(至少在Chrome中)不支持修改器组。
    \s* (?= \S* a)  (?= \S* e)  (?= \S* i)  (?= \S* o)  (?= \S* u)  (?= \S* y) (\S*)