정규식은 특정 패턴(구문)에 따라 결합된 문자들로, 고급 찾기 및/또는 치환 검색에 사용할 수 있습니다. 정규식 구현에서는 ECMAScript 정규식 패턴 구문을 사용합니다.
상태 표시줄에 잘못된 정규식이 있거나 검색 문자열 결과들이 일치하지 않는지 확인하십시오. [식 작성기]를 사용하여 유효한 패턴을 만드십시오.
![]() |
[검색] 대화 상자에서 [Use regular expressions] 아이콘을 활성화합니다. |
특수 패턴 문자는 정규식에 표시될 때 문자열로 표현하기 어려운 문자를 나타내거나 특정 범주의 문자를 나타내는 특별한 의미를 갖는 문자(또는 문자 시퀀스)입니다. 이 특수 패턴 문자들 각각은 정량자가 달리 지정하지 않는 한 대상 시퀀스에서 하나의 문자와 비교됩니다.
구문 |
설명 |
예 |
---|---|---|
\w |
영숫자 또는 밑줄 문자 |
|
\W |
영숫자 또는 밑줄 문자가 아닌 모든 문자 |
|
\d |
임의의 숫자 문자 |
|
\D |
숫자가 아닌 모든 문자 |
|
\s |
공백 문자, 탭 문자 또는 줄 끝 문자 (CR)(LF) |
|
\S |
공백 문자, 탭 문자 및 줄 끝 문자가 아닌 모든 문자 (CR)(LF) |
|
\t |
도표 작성기 |
|
\r\n |
줄 끝 문자 ST 편집기에서는 줄이 "\r\n"(캐리지 리턴 다음에 새 줄이 나타남)으로 끝납니다. 이러한 문자는 볼 수 없지만 ST 편집기에 표시되며 검색 가능합니다. 참조 옵션: [줄 끝 표시] -> |
|
|
공백 문자, 탭 문자 및 줄 문자를 포함한 모든 단일 문자 (CR)(LF) |
|
\ |
정규식에 사용되는 다음과 같은 특수 문자를 텍스트로 검색하려면 \(백슬래시)로 이스케이프해야 합니다. ^ $ \ . * + ? ( ) [ ] { } | 위에 나열된 특수 문자 시퀀스 중 하나로 구성되는 문자는 이스케이프할 수 없습니다. |
|
[class] |
대상 문자가 문자 클래스의 일부입니다(아래의 문자 클래스 참조). |
|
[^class] |
대상 문자가 문자 클래스의 일부가 아닙니다(아래의 문자 클래스 참조). |
|
정량자는 문자 또는 특수 패턴 문자 뒤에 옵니다. 정량자는 비교 시 특정 문자가 반복되는 횟수를 한정할 수 있습니다.
정량자 |
일치 항목 수 |
예 |
---|---|---|
+ |
1개 이상 |
|
* |
0개 이상 |
|
? |
0 또는 1 |
|
{int} |
int로 정의되는 바로 그 숫자 |
|
{int,} |
int 이상으로 정의되는 숫자 |
|
{min,max} |
min(최소값)과 max(최대값) 사이의 숫자 |
|
기본적으로 이 정량자는 모두 탐욕스럽습니다(greedy). 즉, 조건을 충족한다면 문자를 가능한 한 많이 취합니다. 이러한 거동은 정량자 다음에 물음표(?)를 추가하여 탐욕스럽지 않게(ungreedy) 재정의할 수 있습니다(즉, 조건을 충족하는 문자를 최대한 적게 취함).
정량자 |
일치 항목 수 |
예 |
---|---|---|
+? |
1자 이상, ungreedy 검색 |
검색 패턴: 예제 텍스트: sVar1 := 'abc'; sVar2 := 'ABC'; sVar3 := ''; 검색 결과: 'abc' 및 'ABC' 첫 번째 작은따옴표와 다음 작은따옴표 사이에서 문자를 가능한 한 적게 찾습니다. |
+ |
1자 이상, greedy 검색 |
검색 패턴: 예제 텍스트: sVar1 := 'abc'; sVar2 := 'ABC'; sVar3 := ''; 검색 결과: 'abc'; sVar2 := 'ABC'; sVar3 := '' 첫 번째 작은따옴표와 마지막 작은따옴표 사이에서 문자를 가능한 한 많이 찾습니다. |
*? |
0자 이상, ungreedy 검색 |
검색 패턴: 예제 텍스트: sVar1 := 'abc'; sVar2 := 'ABC'; sVar3 := ''; 검색 결과: 'abc', 'ABC' 및 '' |
* |
0자 이상, greedy 검색 |
검색 패턴: 예제 텍스트: sVar1 := 'abc'; sVar2 := 'ABC'; sVar3 := ''; 검색 결과: 'abc'; sVar2 := 'ABC'; sVar3 := '' |
그룹을 사용하면 하나의 문자가 아니라 문자 시퀀스에 정량자를 적용할 수 있습니다.
문자 그룹 |
설명 |
예 |
---|---|---|
(하위식) |
대상 시퀀스에서 하위식을 나타내는 문자를 캡처하여 하위 일치로 저장합니다. 각각의 하위 일치는 여는 괄호가 나타나는 순서로 번호가 매겨집니다(첫 번째 하위 일치는 역참조 숫자 1, 두 번째는 역참조 숫자 2와 같은 방식). 이 역참조 숫자는 검색 또는 치환 필드에서 다시 사용할 수 있습니다. |
(\d)는 검색된 첫 번째 숫자의 하위식으로, 첫 번째 역참조를 생성합니다(N=1). 이 역참조는 역참조에서 찾은 것과 동일한 내용임을 식별해주는 \1과 함께 사용됩니다. |
(?:하위식) |
캡처되지 않는 그룹을 정의합니다. |
이 경우 |
\number |
이전에 일치한 하위식을 같은 정규식에서 나중에 식별할 수 있도록 하는 역참조를 정의합니다. |
예 1: 검색 패턴: 검색 패턴 설명:
in 또는 out이
|
역참조는 치환 문자열에도 사용할 수 있습니다. |
예 2: 검색 패턴: 치환 패턴: 역참조를 포함한 결과의 예: 3: iCount3가 iValue3로 치환됩니다. |
단정문은 문자열 내에서 일치가 발생해야 하는 위치를 지정합니다. 검색식에 단정문을 사용하면 정규식 엔진은 대상 시퀀스를 진행시키거나 문자를 사용하지 않고 지정된 위치에서만 일치하는 항목을 찾습니다.
문자 그룹 |
설명 |
예 |
---|---|---|
\b |
워드 경계 |
|
\B |
워드 경계가 아님 |
|
^ |
줄 시작 |
힌트 캐럿 키 <^>를 누른 후 모음(예: a, e, i, o)를 누르면 캐럿이 액센트(예: â, ê, î, ô, û)로 해석됩니다. 이 현상을 피하려면 <^>를 누른 다음 공백을 누르십시오. |
$ |
줄 끝 |
|
(?=하위식) |
긍정형 전방탐색 단정문 다음에 나오는 문자가 하위식과 일치해야 하며, 문자는 사용되지 않습니다. |
|
(?!하위식) |
부정형 전방탐색 단정문 다음에 나오는 문자가 하위식과 일치하지 않아야 하며, 문자는 사용되지 않습니다. |
|
패턴에는 여러 가지 대안이 포함될 수 있습니다.
문자 |
설명 |
예 |
---|---|---|
| |
두 개의 대안 패턴이나 하위식을 구분하는 구분자입니다. |
|
한 정규식에 여러 개의 대안 패턴을 사용하려면 이들 패턴을 구분 연산자(|)로 구분합니다. 이 정규식은 이 대안 패턴들 중 하나가 일치할 경우 그렇게 되자마자 일치 결과를 반환할 것입니다.
하위식(그룹 또는 단정문)에서도 구분 연산자를 사용하여 여러 대안을 구분할 수 있습니다.
문자 클래스는 대괄호 []로 묶인 문자들의 집합을 정의합니다.
정량자가 달리 명시하지 않는 한 정규식 오브젝트는 전체 문자 클래스를 대상 시퀀스에 있는 하나의 문자와 비교하려고 시도합니다.
문자 클래스에는 다음과 같은 조합이 포함될 수 있습니다.
형식 |
설명 |
예 |
---|---|---|
개별 문자 |
지정된 모든 문자는 클래스의 일부로 간주됩니다(특수 문자 -(하이픈), [(왼쪽 대괄호), ](오른쪽 대괄호) 제외). \t, \d 등과 같은 모든 특수 패턴 문자도 문자 클래스 지정에 사용할 수 있습니다. |
|
범위 |
두 개의 유효한 문자 사이에 -(하이픈)을 넣어서 범위를 지정합니다. |
|
이스케이프된 문자 |
-]\^와 같은 문자는 문자 클래스 정의에서 특별한 의미를 갖습니다. 이들 문자를 일반 문자로 처리하려면 문자 앞에 백슬래시를 추가하여 그 특별한 의미를 없애십시오. |
|