정규 표현식의 힘은 패턴을 선택하고 반복하는 능력에서 비롯됩니다. 일부 문자에는 더 이상 단순히 자신을 나타내지 않도록 특별한 의미가 부여됩니다. 패턴에서 특별한 의미를 갖는 인코딩된 문자를 메타문자라고 합니다.
두 가지 메타문자가 있습니다. 하나는 패턴의 대괄호 외부 어디에서나 사용할 수 있고, 다른 하나는 대괄호 안에 사용해야 합니다. 대괄호 외부에 사용되는 메타 문자는 다음과 같습니다.
은 일반적으로 어설션 대상 시작 부분의
^
문자를 이스케이프하는 데 사용됩니다( 또는 multiple In line 모드에서는 줄의 시작입니다.
$
대상의 끝 위치를 확인합니다(또는 multi-line 모드에서는 줄의 끝입니다) )
.
은 줄 바꿈을 제외한 모든 문자와 일치합니다(기본값)
[
문자 클래스 정의 시작
]
문자 클래스 정의 종료
|
선택적 분기 시작
(
하위 그룹의 시작 태그
)
하위 그룹의 끝 태그
?
는 수량자로 사용되어 일치 항목이 0 또는 1개 있음을 나타냅니다. 수량자의 탐욕적 성격을 변경하기 위해 수량자 뒤에 배치됩니다.
*
정량자, 0개 이상의 일치
+
정량자, 1개 이상의 일치
{
사용자 정의 수량자 시작 태그
}
사용자 정의 수량자 종료 태그
패턴에서 대괄호 안의 부분을 "문자 클래스"라고 합니다. 문자 클래스에서 사용할 수 있는 유일한 메타 문자는 다음과 같습니다.
이스케이프 문자
^
는 첫 번째 문자로만 사용됩니다(대괄호). ), 문자 클래스 부정
-
이 문자 범위