이 정규식을 grep과 함께 어떻게 사용합니까?

이 정규식을 grep과 함께 어떻게 사용합니까?

저는 정규식을 처음 접했고 정규식 튜토리얼/테스트 사이트에서 3개의 연속 자음을 검색할 수 있는 명령을 찾았습니다. 유일한 문제는 grep과 함께 사용하는 방법을 알 수 없다는 것입니다. 누군가 나를 도와줄 수 있나요? 다음을 사용하여 단어 목록 텍스트 파일을 검색하려고 합니다.

(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}

답변1

가지고 있는 정규식 패턴에는 다음이 포함됩니다.

  • 비캡처 그룹,(?:)
  • 너비가 0인 부정 예측,(?!)

grep이는 PCRE, Perl 호환 정규식( -P) 에서만 지원됩니다 .

grep -P따라서 일치하는 부분만 캡처하려면 다음이 필요합니다 -o.

% grep -Po '(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}' <<<'foobarspfb'
rsp

관련 정보