정규식(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 |
한자, 간지 같은 표의 문자를 찾습니다. |