"[" 또는 "]"(괄호)를 정규 표현식과 일치시키는 방법은 무엇입니까?

"[" 또는 "]"(괄호)를 정규 표현식과 일치시키는 방법은 무엇입니까?

패턴이 or regex의 [abc]단일 문자와 일치한다는 것을 알고 있지만 or를 어떻게 일치시키나요? 나는 그들로부터 적절하게 탈출하는 방법을 모른다.abc[]

답변1

사용할 모드는 입니다 [][]. GNU를 grep예로 들어 보겠습니다. 다음 세 가지를 모두 사용할 수 있습니다.

grep '[][]' file
grep -P '[][]' file
grep -E '[][]' file

설명하다: 정규 표현식의 대괄호 표현식은 본문이 비어 있을 수 없으므로( grep '[]' file시도하면 오류가 발생함) [실제로 첫 번째 표현식은 마지막 표현식과 함께 있습니다 ]. [괄호 표현식은 중첩될 수 없기 때문에 괄호는 내부적으로 간섭하지 않으므로 일단 을 보면 RE 엔진은 [첫 번째 문자를 끝 문자로 찾고 그 뒤의 두 번째 문자부터 시작합니다. 대괄호 표현식 내에서는 및 범위와 시작 부분에 나타나는 문자만 특별하게 처리되며 다른 문자는 이스케이프 없이 문자 그대로 처리됩니다(맨 페이지 링크는 @dave_thompson_085의 설명 참조).]][:class:] [.coll.] [=equiv=]c-c^

관련 정보