정규식(Visual Studio)

업데이트: 2007년 11월

정규식은 텍스트 패턴을 찾아서 바꾸는 데 사용되는 간결하고 융통성 있는 표기법입니다. 빠른 찾기, 파일에서 찾기, 빠른 바꾸기 또는 파일에서 바꾸기 작업을 수행할 때 찾기 및 바꾸기 창의 찾을 내용 및 바꿀 내용 필드에 특정 정규식 집합을 사용할 수 있습니다.

정규식을 사용하려면 찾기 및 바꾸기 창에서 찾기 옵션을 확장하고 사용을 선택한 다음 정규식을 선택합니다. 그러면 찾을 내용 및 바꿀 내용 필드 옆에 있는 삼각형 모양의 식 작성기 단추를 사용할 수 있게 됩니다. 이 단추를 클릭하면 가장 많이 사용하는 정규식 목록이 표시됩니다. 목록에서 정규식을 클릭하면 해당 정규식이 찾을 내용 또는 바꿀 내용 필드의 커서 위치에 삽입됩니다. 식 작성기 아래쪽의 전체 문자 목록을 클릭하면 도움말 항목이 나타납니다. 이 항목에는 Visual Studio 찾기 및 바꾸기에서 인식하는 모든 정규식이 포함됩니다. 이 항목의 정규식을 복사한 다음 찾을 내용 또는 바꿀 내용 필드에 붙여넣을 수 있습니다.

참고:

찾을 내용 및 바꿀 내용에 사용할 수 있는 정규식과 .NET Framework 프로그래밍에 사용할 수 있는 정규식 간에는 몇 가지 구문 차이가 있습니다. 예를 들어 찾기 및 바꾸기에서 중괄호 표기({})는 태그 식에 사용되며, zo{1} 식은 Alonzo1 및 Gonzo1에서와 같이 뒤에 태그 1이 오는 zo의 모든 항목을 찾습니다. 이 정규식 구문은 {} 표기법이 수량자에 사용되며 zo{1} 식이 z 뒤에 정확히 하나의 o만 오는 모든 항목, 즉 zone은 찾지만 zoo는 찾지 않는 .NET Framework와는 다릅니다.

찾기 및 바꾸기 작업에 사용할 정규식

식 작성기에는 다음과 같은 자주 사용하는 정규식이 표시됩니다.

구문

설명

예제

단일 문자

.

줄 바꿈 문자를 제외한 모든 단일 문자를 찾습니다.

a.o는 "around"에서 "aro"와 일치하고 "about"에서 "abo"와 일치하지만 "across"에서 "acro"와는 일치하지 않습니다.

0 이상

*

앞의 식을 0번 이상 찾습니다.

a*b는 "bat"의 "b" 및 "about"의 "ab"를 찾습니다.

e.*e는 "enterprise"라는 단어를 찾습니다.

하나 이상

+

앞의 식을 한 번 이상 찾습니다.

ac+는 "race" 및 "ace" 같이 문자 "a"와 최소한 하나 이상의 "c"를 포함하는 단어를 찾습니다.

a.+s는 "access"라는 단어를 찾습니다.

줄의 시작

^

줄의 시작 부분에서 일치하는 문자열을 찾습니다.

^car는 "car"라는 단어가 편집기 줄의 첫 번째 문자 집합에 나올 때만 찾습니다.

줄의 끝

$

줄의 끝 부분에서 일치하는 문자열을 찾습니다.

end$는 "end"라는 단어가 편집기 줄의 마지막 문자 집합에 나올 때만 찾습니다.

단어의 시작

<

텍스트의 해당 지점에서 시작하는 단어만 찾습니다.

<in은 "in"으로 시작하는 "inside" 및 "into" 등의 단어를 찾습니다.

단어의 끝

>

텍스트의 해당 지점에서 끝나는 단어만 찾습니다.

ss>는 "ss"로 끝나는 "across" 및 "loss" 등의 단어를 찾습니다.

줄 바꿈

\n

운영 체제에 독립적인 줄 바꿈을 찾습니다. 바꾸기 식에 줄 바꿈을 삽입합니다.

End\nBegin은 "End"가 줄의 마지막 문자열이고 "Begin"이 다음 줄의 첫 번째 문자열인 경우에만 단어 "End" 및 "Begin"을 찾습니다.

바꾸기 식의 경우에는 다음과 같습니다.

Begin\nEnd는 첫 줄에서 "End"라는 단어를 "Begin"으로 바꾸고 줄 바꿈을 삽입한 다음 "Begin"을 "End"로 바꿉니다.

집합에 있는 한 문자

[]

[] 안의 문자 중 하나를 찾습니다. 문자 범위를 지정하려면 대시(-)로 구분하여 시작 및 끝 문자를 입력합니다(예: [a-z]).

be[n-t]는 "between"의 "bet", "beneath"의 "ben", 그리고 "beside"의 "bes"는 찾지만 "below"의 "bel"은 찾지 않습니다.

집합에 없는 한 문자

[^...]

^ 뒤에 오는 문자 집합에 포함되지 않는 문자를 찾습니다.

be[^n-t]는 "before"의 "bef", "behind"의 "beh", 그리고 "below"의 "bel"은 찾지만 "beneath"의 "ben"은 찾지 않습니다.

또는

|

OR 기호(|) 앞 또는 뒤에 나오는 식과 일치하는 항목을 찾습니다. 이 구문은 그룹에서 가장 자주 사용됩니다.

(sponge|mud) bath는 "sponge bath"와 "mud bath"를 모두 찾습니다.

이스케이프

\

백슬래시(\) 뒤에 나오는 문자열을 리터럴로 간주하고 일치하는 항목을 찾습니다. 이렇게 하면 { 및 ^과 같이 정규식 표기에 사용되는 문자를 찾을 수 있습니다.

\^는 ^ 문자를 검색합니다.

태그 식

{}

중괄호로 묶인 식을 포함하여 태그가 지정된 텍스트를 찾습니다.

zo{1}은 "Alonzo1" 및 "Gonzo1"의 "zo1"은 찾지만 "zone"의 "zo"는 찾지 않습니다.

C/C++ 식별자

:i

([a-zA-Z_$][a-zA-Z0-9_$]*) 식의 약식 형태입니다.

가능한 모든 C/C++ 식별자를 찾습니다.

따옴표 붙은 문자열

:q

(("[^"]*")|('[^']*')) 식의 약식 형태로, 작은따옴표나 큰따옴표로 묶인 모든 문자를 찾고 따옴표 자체도 찾습니다.

:q는 "test quote" 및 'test quote'는 찾지만 can't의 't는 찾지 않습니다.

공백 또는 탭

:b

공백 또는 탭 문자를 찾습니다.

Public:bInterface는 텍스트에서 "Public Interface"라는 구를 찾습니다.

정수

:z

모든 숫자 조합을 찾는 ([0-9]+) 식의 약식 형태입니다.

"1", "234", "56" 등의 모든 정수를 찾습니다.

찾기 및 바꾸기 작업에 사용할 수 있는 정규식은 식 작성기에 표시할 수 있는 것보다 더 많습니다. 다음 정규식은 식 작성기에는 표시되지 않지만 찾을 내용 또는 바꿀 내용 필드에서 사용할 수 있습니다.

구문

설명

예제

최소 0 또는 그 이상

@

앞의 식을 0번 이상 찾으며 가능한 한 적은 수의 문자가 일치하는 경우만 찾습니다.

e.@e "enterprise"의 "ente" 및 "erprise"는 찾지만 "enterprise"라는 전체 단어는 찾지 않습니다.

최소 하나 또는 그 이상

#

앞의 식을 1번 이상 찾으며 가능한 한 적은 수의 문자가 일치하는 경우만 찾습니다.

ac#은 "ace" 같이 문자 "a"와 최소한 하나 이상의 "c"를 포함하는 단어를 찾습니다.

a.#s는 "access"라는 단어의 "acces"를 찾습니다.

n번 반복

^n

앞의 식과 일치하는 항목을 n개 찾습니다.

[0-9]^4는 임의의 4자리 시퀀스를 찾습니다.

그룹화

()

식 집합을 그룹화할 수 있습니다. 한 번의 검색으로 두 개의 다른 식을 검색하려는 경우 그룹화 식을 사용하여 해당 식을 결합할 수 있습니다.

- [a-z][1-3] 또는 - [1-10][a-z]를 검색하는 경우 ([a-z][1-3]) | ([1-10][a-z])와 같이 결합할 수 있습니다.

태그가 지정된 n번째 텍스트

\n

찾기 또는 바꾸기 식에서 태그가 지정된 n번째 식과 일치하는 텍스트를 찾습니다. 여기서 n은 1에서 9 사이의 숫자입니다.

바꾸기 식에서 \0을 지정하면 일치하는 전체 텍스트가 삽입됩니다.

a{[0-9]}를 검색하여 \1로 바꾸면 뒤에 숫자 하나가 오는 모든 "a" 항목이 뒤에 오는 숫자로 바뀝니다. 예를 들어 "a1"은 "1"로 바뀌고 "a2"는 "2"로 바뀌는 식입니다.

오른쪽 맞춤 필드

\(w,n)

바꾸기 식에서 너비가 w자 이상인 필드에서 태그가 지정된 n번째 식을 오른쪽에 맞춥니다.

a{[0-9]}를 검색하여 \(10,1)로 바꾸면 "an" 항목이 정수로 바뀌며 공백 10개가 추가되어 오른쪽에 맞춰집니다.

왼쪽 맞춤 필드

\(-w,n)

바꾸기 식에서 너비가 w자 이상인 필드에서 태그가 지정된 n번째 식을 왼쪽에 맞춥니다.

a{[0-9]}를 검색하여 \(-10,1)로 바꾸면 "an" 항목이 정수로 바뀌며 공백 10개가 추가되어 왼쪽에 맞춰집니다.

구분 안 함

~X

식의 해당 지점에서 X가 나타나면 일치하는 항목을 찾지 않습니다.

real~(ity)는 "realty" 및 "really"의 "real"은 찾지만 "reality"의 "real"은 찾지 않습니다.

영숫자

:a

해당 식을 찾습니다([a-zA-Z0-9]).

"a", "A", "w", "W", "5" 등의 모든 영숫자를 찾습니다.

영문자

:c

해당 식을 찾습니다([a-zA-Z]).

"a", "A", "w", "W" 등의 모든 영문자를 찾습니다.

10진수

:d

해당 식을 찾습니다([0-9]).

"4", "6" 등의 모든 숫자를 찾습니다.

16진수

:h

해당 식을 찾습니다([0-9a-fA-F]+).

"1A", "ef", "007" 등의 모든 16숫자를 찾습니다.

유리수

:n

해당 식을 찾습니다(([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+)).

"2007", "1.0", ".9" 등의 모든 유리수를 찾습니다.

영 문자열

:w

해당 식을 찾습니다([a-zA-Z]+).

영문자만 포함된 모든 문자열을 찾습니다.

이스케이프

\e

유니코드 U+001B.

"이스케이프" 제어 문자를 찾습니다.

\g

유니코드 U+0007.

"벨" 제어 문자를 찾습니다.

백스페이스

\h

유니코드 U+0008.

"백스페이스" 제어 문자를 찾습니다.

\t

유니코드 U+0009

탭 문자를 찾습니다.

유니코드 문자

\x#### 또는 \u####

유니코드 값이 지정된 문자를 찾습니다. 여기서 ####은 16진수입니다. ISO 10646 코드 포인트나 서로게이트 쌍의 값을 지정하는 두 개의 유니코드 코드 포인트로 기본적인 다국적 문자표에 없는 문자(서로게이트)를 지정할 수 있습니다.

\u0065는 문자 "e"를 찾습니다.

다음 표에서는 유니코드 문자 속성 데이터베이스에 나열된 일반 범주를 지정하는 데 사용되는 두 글자 약어를 보여 줍니다. 이러한 약어는 정규식 문자 집합의 일부로 사용할 수 있습니다. 예를 들어, 식 [:Nd:Nl:No]는 모든 종류의 숫자를 찾습니다.

유니코드 문자 속성 데이터베이스에 대한 자세한 내용은 Unicode Standard 5.0 Character Properties를 참조하십시오.

구문

설명

대문자

:Lu

대문자를 찾습니다.

예를 들어, 다음과 같습니다.

:Luhe는 "the"는 찾지 않고 "The"를 찾습니다.

소문자

:Ll

소문자를 찾습니다.

예를 들어, 다음과 같습니다.

:Luhe는 "The"는 찾지 않고 "the"를 찾습니다.

제목 대/소문자

:Lt

Nj, Dz 등의 대문자와 소문자가 조합된 문자를 찾습니다.

한정자 문자

:Lm

쉼표, 크로스 악센트, 이중 프라임 등의 문자나 문장 부호는 이전 문자의 수정을 표시하는 데 사용됩니다.

기타 문자

:Lo

고딕 문자 ahsa 등의 기타 문자를 찾습니다.

10진수

:Nd

전자 10진수(0-9)를 찾습니다.

숫자

:Nl

로마 숫자, 표의 숫자 0 등의 글자 숫자를 찾습니다.

기타 숫자

:No

고대 이태리 숫자 1 등의 기타 숫자를 찾습니다.

열린 문장 부호

:Ps

열린 대괄호 및 중괄호 등의 열린 문장 부호를 찾습니다.

닫힌 문장 부호

:Pe

닫힌 대괄호 및 중괄호 등의 닫힌 문장 부호를 찾습니다.

처음 따옴표

:Pi

처음에 나오는 큰따옴표를 찾습니다.

마지막 따옴표

:Pf

작은따옴표와 닫는 큰따옴표를 찾습니다.

대시 문장 부호

:Pd

대시를 찾습니다.

연결선 문장 부호

:Pc

밑줄을 찾습니다.

기타 문장 부호

:Po

(,), ?, ", !, @, #, %, &, *, \, (:), (;), ' 및 /를 찾습니다.

공백 구분선

:Zs

공백을 찾습니다.

줄 구분선

:Zl

유니코드 문자 U+2028을 찾습니다.

단락 구분선

:Zp

유니코드 문자 U+2029를 찾습니다.

간격 없음 표시

:Mn

간격 없음 표시를 찾습니다.

결합 표시

:Mc

결합 표시를 찾습니다.

묶기 표시

:Me

묶기 표시를 찾습니다.

수학 기호

:Sm

+, =, ~, |, < 및 >를 찾습니다.

통화 기호

:Sc

$와 다른 통화 기호를 찾습니다.

한정자 기호

:Sk

곡절 악센트, 억음 악센트 및 장음 기호 등의 한정자 기호를 찾습니다.

기타 기호

:So

저작권 표시 및 각도 표시 등의 기타 기호를 찾습니다.

기타 컨트롤

:Cc

탭 및 줄 바꿈 문자와 같은 유니코드 제어 문자를 일치시킵니다.

기타 서식

:Cf

양방향 제어 문자와 같은 서식 지정 제어 문자를 찾습니다.

서로게이트

:Cs

서로게이트 쌍 중 한쪽을 찾습니다.

기타 전용 항목

:Co

전용 영역의 문자를 찾습니다.

지정되지 않은 기타 항목

:Cn

유니코드 문자와 매핑되지 않는 문자를 찾습니다.

표준 유니코드 문자 속성과 함께 다음과 같은 속성을 문자 집합의 일부로 지정할 수도 있습니다.

구문

설명

영문자

:Al

단일 문자를 찾습니다.

예를 들어 :Alhe는 "The", "then", "reached"와 같은 단어를 찾습니다.

숫자

:Nu

단일 숫자를 찾습니다.

문장 부호

:Pu

단일 문장 부호를 찾습니다(예: ?, @, ' 등).

공백

:Wh

출판 공백, 표의 문자 공백 같은 모든 종류의 공백을 찾습니다.

양방향 텍스트

:Bi

아랍어, 히브리어 같은 오른쪽에서 왼쪽으로 쓰는 글자체의 문자를 찾습니다.

한글

:Ha

한글 및 조합 자모를 찾습니다.

히라가나

Hi

히라가나 문자를 찾습니다.

가타카나

:Ka

가타카나 문자를 찾습니다.

표의 문자/한자/간지

:Id

한자, 간지 같은 표의 문자를 찾습니다.

참고 항목

참조

와일드카드(Visual Studio)

찾기 및 바꾸기 창, 빠른 찾기

찾기 및 바꾸기 창, 빠른 바꾸기

찾기 및 바꾸기 창, 파일에서 찾기

찾기 및 바꾸기 창, 파일에서 바꾸기

인수를 사용하는 Visual Studio 명령

기타 리소스

찾기 및 바꾸기