예를 들어 다음 명령을 사용하십시오.
find . -regex ".*\.\(cpp\|h\)"
디렉토리에있는 모든 .h 및 .cpp 파일이 있습니다. 마침표 문자 '.' 정규 표현식에서 일반적으로 "모든 문자"를 의미합니다. 실제 마침표 만 일치 시키려면 백 슬래시 문자 '\'를 사용하여 이스케이프해야합니다.
이 경우 특별한 의미를 가진 문자가 주어지면 실제 문자를 얻으려면 이스케이프해야합니다.
이제 괄호와 "또는"막대를 각각 문자 '(', ')'및 '|'로 가져갑니다. 이것들은 또한 정규 표현식을 그룹화하는데 사용되는 특별한 의미를 가지고 있습니다. 그러나 특별한 의미를 얻으려면 백 슬래시를 사용하여 문자를 이스케이프해야합니다! 백 슬래시가 없으면 문자는 실제 문자의 의미를 갖습니다.
왜 '.' '(', ')'및 '|'과 다르게 취급됩니까?