[Use regular expressions]

정규식은 특정 패턴(구문)에 따라 결합된 문자들로, 고급 찾기 및/또는 치환 검색에 사용할 수 있습니다. 정규식 구현에서는 ECMAScript 정규식 패턴 구문을 사용합니다.

힌트

상태 표시줄에 잘못된 정규식이 있거나 검색 문자열 결과들이 일치하지 않는지 확인하십시오. [식 작성기]를 사용하여 유효한 패턴을 만드십시오.

[검색] 대화 상자에서 [Use regular expressions] 아이콘을 활성화합니다.

특수 패턴 문자

특수 패턴 문자는 정규식에 표시될 때 문자열로 표현하기 어려운 문자를 나타내거나 특정 범주의 문자를 나타내는 특별한 의미를 갖는 문자(또는 문자 시퀀스)입니다. 이 특수 패턴 문자들 각각은 정량자가 달리 지정하지 않는 한 대상 시퀀스에서 하나의 문자와 비교됩니다.

구문

설명

\w

영숫자 또는 밑줄 문자

test\wnewtest2new 또는 test_new을 찾습니다.

\W

영숫자 또는 밑줄 문자가 아닌 모든 문자

test\Wnewtest.new 또는 test-new을 찾습니다.

\d

임의의 숫자 문자

test\d\dtest21을 찾습니다.

\D

숫자가 아닌 모든 문자

test\D\Dtest_a을 찾습니다.

\s

공백 문자, 탭 문자 또는 줄 끝 문자 (CR)(LF)

test\s1test 1을 찾습니다.

\S

공백 문자, 탭 문자 및 줄 끝 문자가 아닌 모든 문자 (CR)(LF)

test\S1test_1을 찾습니다.

\t

도표 작성기

a\tba     b을 찾습니다.

\r\n

줄 끝 문자

ST 편집기에서는 줄이 "\r\n"(캐리지 리턴 다음에 새 줄이 나타남)으로 끝납니다. 이러한 문자는 볼 수 없지만 ST 편집기에 표시되며 검색 가능합니다.

참조 옵션: [확장 기능(X)] > [옵션] > [프로그램 설정] > [에디터] > [ST 에디터] -> [줄 끝 표시]

test\r\ntest(CR)(LF)을 찾습니다.

.

공백 문자, 탭 문자 및 줄 문자를 포함한 모든 단일 문자 (CR)(LF)

te.t1text1 또는 test1을 찾습니다.

\

정규식에 사용되는 다음과 같은 특수 문자를 텍스트로 검색하려면 \(백슬래시)로 이스케이프해야 합니다. ^ $ \ . * + ? ( ) [ ] { } |

위에 나열된 특수 문자 시퀀스 중 하나로 구성되는 문자는 이스케이프할 수 없습니다.

test\(test(을 찾습니다.

[class]

대상 문자가 문자 클래스의 일부입니다(아래의 문자 클래스 참조).

[abc]a, b 또는 c를 찾습니다.

[^class]

대상 문자가 문자 클래스의 일부가 아닙니다(아래의 문자 클래스 참조).

[^xyz]x, y, z를 제외한 모든 문자를 찾습니다.

관련 항목

정량자

정량자는 문자 또는 특수 패턴 문자 뒤에 옵니다. 정량자는 비교 시 특정 문자가 반복되는 횟수를 한정할 수 있습니다.

정량자

일치 항목 수

+

1개 이상

pla+ceplace 또는 plaace을 찾습니다.

*

0개 이상

pla*ceplce 또는 place 또는 plaace를 찾습니다.

?

0 또는 1

pla?ceplce 또는 place을 찾습니다.

{int}

int로 정의되는 바로 그 숫자

tyco{3}ntycooon을 찾습니다.

{int,}

int 이상으로 정의되는 숫자

tyco{2,}ntycoooon을 찾습니다.

{min,max}

min(최소값)과 max(최대값) 사이의 숫자

tyco{1,2}ntycon 또는 tycoon을 찾습니다.

기본적으로 이 정량자는 모두 탐욕스럽습니다(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와 같은 방식). 이 역참조 숫자는 검색 또는 치환 필드에서 다시 사용할 수 있습니다.

i(\d)Var\1i1Var2가 아니라 i1Var1, i2Var2, 또는 i6Var6을 찾습니다.

(\d)는 검색된 첫 번째 숫자의 하위식으로, 첫 번째 역참조를 생성합니다(N=1). 이 역참조는 역참조에서 찾은 것과 동일한 내용임을 식별해주는 \1과 함께 사용됩니다.

(?:하위식)

캡처되지 않는 그룹을 정의합니다.

i(?:\d)Var(\d)Value\1i1Var2Value2 또는 i1Var3Value3을 찾습니다.

이 경우 \1을 통해 첫 번째 역참조 (\d)를 참조합니다.

\number

이전에 일치한 하위식을 같은 정규식에서 나중에 식별할 수 있도록 하는 역참조를 정의합니다.

예 1:

검색 패턴: [a-c](\d)(?:in|out)put_\1a1input_1 또는 b2output_2을 찾습니다.

검색 패턴 설명:

[a-c]a, b 또는 c를 찾습니다.

(\d) 뒤에 한 자리 숫자가 붙는데, 이 숫자가 역참조로 사용됩니다.

in 또는 out(?:in|out) 뒤에 오는데, 이 식은 역참조로 사용되지 않습니다.

put_ 뒤에 put_

\1 뒤에 첫 번째 역참조가 옵니다.

역참조는 치환 문자열에도 사용할 수 있습니다.

예 2:

검색 패턴: iCount(\d)iCount와 뒤에 오는 한 자리 숫자를 찾는데, 이 숫자가 역참조로 사용됩니다.

치환 패턴: iValue\1은 검색 문자열 iCountiValue와 뒤에 오는 첫 번째 역참조로 치환합니다.

역참조를 포함한 결과의 예: 3: iCount3iValue3로 치환됩니다.

단정문

단정문은 문자열 내에서 일치가 발생해야 하는 위치를 지정합니다. 검색식에 단정문을 사용하면 정규식 엔진은 대상 시퀀스를 진행시키거나 문자를 사용하지 않고 지정된 위치에서만 일치하는 항목을 찾습니다.

문자 그룹

설명

\b

워드 경계

\bisisland를 찾지만 isThis를 찾지 못합니다.

is\bThis를 찾지만 isisland를 찾지 못합니다.

\bis\bis를 찾지만 island를 찾지 못합니다.

\B

워드 경계가 아님

\BisThis를 찾지만 island를 찾지 못합니다.

is\Bisland를 찾지만 This를 찾지 못합니다.

\Bis\BWish를 찾지만 is 또는 island를 찾지 못합니다.

^

줄 시작

^iVar는 검색 문자열이 새 줄로 시작되는 경우에만 iVar를 찾습니다.     iVar를 찾으려면 줄 시작 부분에 공백을 넣어서 ^\s*iVar를 사용하십시오.

힌트

캐럿 키 <^>를 누른 후 모음(예: a, e, i, o)를 누르면 캐럿이 액센트(예: â, ê, î, ô, û)로 해석됩니다. 이 현상을 피하려면 <^>를 누른 다음 공백을 누르십시오.

$

줄 끝

iVar$는 검색 문자열이 한 줄로 끝나는 경우에만 iVar를 찾습니다.

(?=하위식)

긍정형 전방탐색

단정문 다음에 나오는 문자가 하위식과 일치해야 하며, 문자는 사용되지 않습니다.

Var(?=\d)는 뒤에 숫자가 오는 모든 Var을 찾습니다.

(?!하위식)

부정형 전방탐색

단정문 다음에 나오는 문자가 하위식과 일치하지 않아야 하며, 문자는 사용되지 않습니다.

Var(?!\d)는 뒤에 숫자가 오지 않는 모든 Var을 찾습니다.

대안

패턴에는 여러 가지 대안이 포함될 수 있습니다.

문자

설명

|

두 개의 대안 패턴이나 하위식을 구분하는 구분자입니다.

(i|o)VariVar 또는 oVar을 찾습니다.

한 정규식에 여러 개의 대안 패턴을 사용하려면 이들 패턴을 구분 연산자(|)로 구분합니다. 이 정규식은 이 대안 패턴들 중 하나가 일치할 경우 그렇게 되자마자 일치 결과를 반환할 것입니다.

하위식(그룹 또는 단정문)에서도 구분 연산자를 사용하여 여러 대안을 구분할 수 있습니다.

문자 클래스

문자 클래스는 대괄호 []로 묶인 문자들의 집합을 정의합니다.

정량자가 달리 명시하지 않는 한 정규식 오브젝트는 전체 문자 클래스를 대상 시퀀스에 있는 하나의 문자와 비교하려고 시도합니다.

문자 클래스에는 다음과 같은 조합이 포함될 수 있습니다.

형식

설명

개별 문자

지정된 모든 문자는 클래스의 일부로 간주됩니다(특수 문자 -(하이픈), [(왼쪽 대괄호), ](오른쪽 대괄호) 제외).

\t, \d 등과 같은 모든 특수 패턴 문자도 문자 클래스 지정에 사용할 수 있습니다.

[abc]a, b 또는 c를 찾습니다.

[^xyz]x, y, z를 제외한 모든 문자를 찾습니다.

범위

두 개의 유효한 문자 사이에 -(하이픈)을 넣어서 범위를 지정합니다.

[a-z]a~z의 범위에서 소문자 문자를 찾습니다.

[^D-F]는 대문자 D, E, 또는 F를 제외한 모든 문자를 찾습니다.

[1-36-9]는 1에서 3 또는 6에서 9 사이의 숫자를 찾습니다.

[abc1-5]a, b, 또는 c를 찾거나 1에서 5 사이의 숫자를 찾습니다.

이스케이프된 문자

-]\^와 같은 문자는 문자 클래스 정의에서 특별한 의미를 갖습니다. 이들 문자를 일반 문자로 처리하려면 문자 앞에 백슬래시를 추가하여 그 특별한 의미를 없애십시오.

[a\-z]VaraVar, -Var 또는 zVar를 찾습니다.

[ab\t\]]a, b, tab, 또는 ]를 찾습니다.

최종 수정일: 2022-09-19이 페이지에 대한 피드백Panasonic 직통 전화