이 표현을 설명하는 데 도움을 줄 수 있는 사람이 있나요? grep '\([aeiou]\).\1'

이 표현을 설명하는 데 도움을 줄 수 있는 사람이 있나요? grep '\([aeiou]\).\1'

나는 "모음(a, e, i, o 또는 u)을 포함하는 모든 줄과 단일 문자, 그 뒤에 동일한 모음을 인쇄하는 숙제 표현을 찾았습니다. 따라서 "eve" 또는 "Adam"은 찾지만 그렇지는 않습니다. "베라"." 표현은 괜찮지만, 각 부분이 어떤 역할을 하는지 좀 더 자세히 이해할 수 있도록 설명해 주실 분을 찾고 있습니다.

답변1

먼저 Google에서 정규 표현식 사이트를 검색해 보세요. 그들은 당신에게 많은 도움이 될 것입니다. 예를 들어, regexone을 사용해 보세요.

둘째, 정규식을 테스트하거나 이해하는 데 도움이 되려면 regex101.com을 참조하세요. 진행 상황을 단계별로 설명하므로 정규식을 테스트할 수도 있습니다.

이제 표현식을 살펴보겠습니다.

[aeiou]

괄호 안의 모든 문자(여기서는 a, e, i, o 또는 u)와 일치합니다.

.

단일 문자와 일치

\1

첫 번째 캡처 그룹과 일치합니다.

\(anything\)

캡처 그룹입니다.

캡처 그룹은 나중에 사용하기 위해 기억할 수 있는 문자열의 이름입니다. 이 경우 [aeiou]의 문자를 캡처하면 일치하는 문자를 기억할 수 있습니다. 이 정규식을 다시 작성하면 다음과 같습니다.

[aeiou].[aeiou]

첫 번째 모음과 두 번째 모음이 같은지 확인할 수 없습니다.

따라서 정규식은 "aeiou"의 모든 문자와 일치하고 단일 문자와 첫 번째 문자가 일치함을 의미합니다.

답변2

첫째, \(그리고 \). 이는 "이 이스케이프 괄호 안의 모든 항목은 그룹이며 나중에 표현식에서 참조될 수 있습니다"를 의미합니다. "모든 문자 , , , 또는 " [aeiou]을 의미하는 가 있습니다 . 단일 점은 "모든 단일 문자"를 의미합니다. "첫 번째 경기 세트에서 찾은 것"을 의미합니다 .aeiou.\1

관련 정보