
我需要找到包含以 aeiou 順序出現的元音的單字集。也允許每個元音在下一個元音出現之前多次出現,但在下一個元音出現後不再出現
基本輸入清單 -https://jsfiddle.net/3mj72nwh/
到目前為止我使用了這些正規表示式
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
第一個的一些輸出 -
appenditious,appetitious,arenicolous,arreptitious,arsenious
....
ultraexpeditious,ultrareligious,unfacetious
我的大部分輸出都會滿足條件,但其中一些則不滿足。例如-超快速的因為當你之後發生的事情是單字中不能有任何元音。
答案1
您需要錨定您的搜尋(或使用-x
):
grep -x '[^aeiou]*a[^eiou]*e[^aiou]*i[^aeou]*o[^aeiu]*u[^aeio]*'
ultraexpeditious
匹配,因為它包含aexpeditious
與您的正規表示式相符的內容。