정규식의 문자 클래스 (대괄호)에서 점을 이스케이프해야합니까?


97

.정규식 의 점 은 단일 문자와 일치합니다. 정규식이 점과 일치하려면 점을 이스케이프해야합니다.\.

대괄호 안에 []점이 이스케이프 될 필요가 없다는 것이 나에게 지적되었습니다 . 예를 들어, 표현식 [.]{3}...문자열 과 일치 합니다.

그렇지 않습니까? 그렇다면 모든 정규식 표준에 해당합니까?


그렇습니다. DOT (및 대부분의 다른 특수 문자)가 문자 클래스에서 이스케이프 될 필요가 없다는 것은 사실입니다.
anubhava

3
정규식 구문에 대한 "표준"은 없습니다.
BoltClock

3
@BoltClock에는 posix, posix extended, perl이 있습니다. 참조 en.wikipedia.org/wiki/Regular_expression#Standards을
다리우스

1
@Dariusz는 당신이 내가 틀렸다고 생각했기 때문에 저를 투표 한 사람입니까? 그렇다면 2 점을 돌려
받고 싶습니다.

@peeskillet 예, 맞았습니다. Thx와 죄송합니다.
Dariusz 2013

답변:


136

문자 클래스 (대괄호)에서 모든 문자 제외 ^, -, ]또는 \리터럴입니다.

이 웹 사이트는 훌륭한 참조이며 다양한 정규식 맛의 뉘앙스에 대한 많은 정보를 제공합니다. http://www.regular-expressions.info/refcharclass.html


3
언어가 어떻게 처리 하느냐에 따라 다르지만 대부분의 언어에서 이것은 사실입니다.
Patrick Oscity 2013

40
-마지막 값이면 문자 그대로입니다
Pedro Lobito 2016 년

16
이 첫 번째 문자 아니라면 그리고 ^ 리터럴
나이젤 B. 펙

1
$가 변수처럼 보이면 이스케이프해야합니다. 예 : [$.]
W3Coder

1
@PedroLobito 그리고 첫 번째의 경우, 내 생각
팀 말론
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.