여기 와서 주문을 봤는데grep -E '(^| )ABC( |$)' 파일1 ^ 및 $ 문자를 시작 및 끝 표시로 알고 있지만 여기서는 대괄호로 인해 맨 처음이나 끝에 있지 않기 때문에 정규식을 해석하는 방법이 혼란스럽습니다. ^는 때때로 집합 문자를 부정하는 데 사용되지만 나는 단지 [^....]와 같은 표현에서 이 사용법을 본 적이 있을 뿐입니다.
누군가 이 정규식이 무엇을 의미하는지 단계별로 설명해 줄 수 있나요?
답변1
이는 grep
문자열이 줄의 시작 부분에서만 검색되어야 함 을 의미합니다.ABC
또는공백 다음에는 문자열이 다른 공백이나 줄 끝으로 끝나야 합니다.
즉, 누군가가 완전한 문자열을 형성하기 위해 검색을 원합니다.성격. 하지만 이 정규식은 문제가 많습니다. 즉, 전후에 다른 문자가 많이 있을 수 있다는 것입니다.단어(적어도 자연어에서는), 즉 (
, )
, .
, ;
, :
, ,
등...
-w
따라서 option을 사용 grep
하거나,bounds: \b
또는 \<
/를 사용하는 것이 좋습니다 \>
.