
Preciso encontrar um conjunto de palavras que contenham vogais que ocorrem na ordem aeiou. Não há necessidade de ocorrer consecutivamente. Também permite que cada vogal ocorra várias vezes antes da ocorrência da próxima, mas nunca ocorra novamente após a ocorrência da próxima vogal
lista de entrada básica -https://jsfiddle.net/3mj72nwh/
até agora usei esses regex
grep 'a[^eiou]*e[^aiou]*i[^aeou]*o[^aeiu]*u[^aeio]*' words2.txt - this is the closest one that I got
grep 'a[^e^i^o^u]*e[^a^i^o^u]*i[^a^e^o^u]*o[^a^e^i^u]*u[^a^e^i^o]*' words2.txt
grep 'a.*e[^a]*i[^ae]*o[^aei]*u[^aeio]*' words2.txt
E alguns resultados do primeiro -
appenditious,appetitious,arenicolous,arreptitious,arsenious
....
ultraexpeditious,ultrareligious,unfacetious
a maioria dos meus resultados satisfará as condições, mas alguns deles não. por exemplo -ultrarrápidoporque quandovocêocorre depois disso não pode haver nenhuma vogal na palavra.
Responder1
Você precisa ancorar sua pesquisa (ou usar -x
):
grep -x '[^aeiou]*a[^eiou]*e[^aiou]*i[^aeou]*o[^aeiu]*u[^aeio]*'
ultraexpeditious
corresponde porque contém aexpeditious
o que corresponde ao seu regexp.