2012-05-15 3 views

답변

21

대괄호로 이스케이프 처리해야하는 것은 닫는 대괄호이며, 초기 또는 최종 값이 아닌 경우 마이너스이고 초기 값인 경우 모자 인 AFAIK입니다. 그리고 명백하게 백 슬래시 자체.

이유는 이것이 대괄호 안에 특별한 의미가있는 유일한 문자이기 때문입니다. 닫는 대괄호는 대괄호를 끝내고 중간 문자열 빼기는 범위를 나타내며 초기 모자는 대괄호 클래스를 무효화합니다. 다른 모든 것은 문자 그대로 해석되어야합니다. 백 슬래시는 이스케이프 문자이므로 리터럴 백 슬래시와 일치 시키려면 이중 백 슬래시가 필요합니다.

+1

+1과 "모자"라는 용어와 일치하지 않습니다. 그걸 벗어나지 말아야한다는 뜻인가요? – qwertymk

+0

@qwertymk 첫 번째 문자가 아니고 모자가 "not"를 의미하는 것을 원하지 않는 경우에만. – mc10

+0

@qwertymk :이 방법을보세요 :'[^ a]'는'a'가 아닌 것과 매치합니다. '[a ^]'는'a' 또는'^'와 일치합니다. '[\^a]'는 'a' 또는'^'와 동일합니다. (아, 그리고 백 슬래시 자체를 잊어 버렸습니다! 편집!)'[\\^a]'는'\','a' 또는'^'와 일치합니다. – Amadan