grep + regex가 필요합니다.

grep + regex가 필요합니다.

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]*'

ultraexpeditiousaexpeditious정규 표현식과 일치하는 항목이 포함되어 있기 때문에 일치합니다 .

관련 정보