정규식에 대한 Grep 옵션. (ERE, BRE, Perl 정규 표현식) 차이점

정규식에 대한 Grep 옵션. (ERE, BRE, Perl 정규 표현식) 차이점

정규 표현식에 익숙해졌지만 grep다양한 옵션 때문에 혼란스럽습니다.

grep --help | grep -i "reg.*ex"
  -E, --extended-regexp     PATTERN is an extended regular expression (ERE)
  -G, --basic-regexp        PATTERN is a basic regular expression (BRE)
  -P, --perl-regexp         PATTERN is a Perl regular expression

나는 정규식에 대해 어느 정도 알고 있지만 기본 사항(예: 실제로 ".*"가 필요한데 "*" 사용)에 어려움을 겪는 경우가 많습니다. 이는 정규식을 모르기 때문이라고 생각합니다.정규식 유형(ERE, BRE, Perl 정규식).

어딘가에 자세히 설명되어 있나요?

답변1

그것에 관한 구체적인 질문에 답하십시오 *.

*모든 유형의 정규 표현식의 특수 문자는 이전 표현식에 적용됩니다. 이전 표현식과 일치하는 항목이 0개 이상 허용됩니다. 따라서 정규식은 .*비어 있는지 여부에 관계없이 모든 문자열과 일치합니다.

파일 이름 *와일드카드 문자는 모든(비어 있는) 문자열과 일치합니다.

정규식은 파일 이름 와일드카드 패턴이 아니며 그 반대도 마찬가지입니다. 이러한 특별한 차이는 정규식과 와일드카드 패턴 간의 차이이지 다양한 유형의 정규식 간의 차이는 아닙니다.

관련 정보