.
정규식을 사용할 때 점 문자가 일치한다고 들었습니다.모든 것.
개행 문자는 제외합니다 \n
.
다른 예외가 있나요? NUL 문자 \0
, 백스페이스 문자 \b
또는 기타 인쇄할 수 없는 다양한 ASCII 문자는 어떻습니까?
이와 관련하여 다양한 유틸리티/프로그램(예: sed, awk, Perl 및 vim)이 다르게 작동합니까, 아니면 동일하게 작동합니까?
答え1
에서 info regex
:
3.2 임의의 문자 연산자(`.')와 일치 =========================================== 이 연산자는 단일 인쇄 또는 비인쇄 문자와 일치합니다. 일치하지 않는 한: 새로운 팀 구문 비트 "RE_DOT_NEWLINE"이 설정되지 않은 경우. 유효하지 않은 구문 비트 "RE_DOT_NOT_NULL"이 설정된 경우.
答え2
.
[^\n]
모든 표준 UNIX 정규식 스타일 과 동일 하지만 Windows에서는 일반적 [^\r\n]
으로 Windows 스타일 줄 끝 구문으로 인해 발생합니다. 다른 플랫폼에서는 표준 개행 시퀀스가 무엇인지 평가해야 합니다.
Perl 및 일부 다른 언어에서는 한 줄 패턴 .
도 일치하므로 \n
(또는 [\r\n]
Windows 정규식 스타일 등에서) 실제로 모든 것과 일치합니다.
.
예를 들어 POSIX 대괄호 표현식에서 점 문자는 리터럴 점과 일치합니다 .