정규식을 사용한 텍스트 검색Search Text with Regular Expressions

정규식은 텍스트 패턴을 검색 및 대체하기 위한 간결하고 유연한 표기법입니다.Regular expressions are a concise and flexible notation for finding and replacing patterns of text. **** 찾기 및 바꾸기 SQL Server Management StudioSQL Server Management Studio 찾을 내용 필드에서 특정 정규식 집합을 사용할 수 있습니다.A specific set of regular expressions can be used in the Find what field of the SQL Server Management StudioSQL Server Management Studio Find and Replace dialog box.

정규식을 사용하여 검색하려면To find using regular expressions

  1. 빠른 찾기 중에 파일에서 찾기, 빠른 바꾸기또는 파일에서 바꾸기작업 도중에 찾을 내용 필드에서 정규식을 사용하도록 설정하려면 찾기 옵션 아래에서 사용옵션을 선택하고 정규식을 선택합니다.To enable the use of regular expressions in the Find what field during QuickFind, FindinFiles, Quick Replace, or Replace in Files operations, select the Use option under Find Optionsand choose Regular expressions.

  2. 그러면 찾을 내용 필드 옆에 있는 삼각형 참조 목록 단추를 사용할 수 있습니다.The triangular Reference List button next to the Find what field then becomes available. 이 단추를 클릭하면 가장 일반적으로 사용되는 정규식 목록이 표시됩니다.Click this button to display a list of the most commonly used regular expressions. 식 작성기에서 임의의 항목을 선택하면 해당 항목이 찾을 내용 문자열에 삽입됩니다.When you choose any item from the Expression Builder, it is inserted into the Find what string.

참고

찾을 내용 문자열에서 사용할 수 있는 정규식과 MicrosoftMicrosoft .NET Framework 프로그래밍에서 유효한 정규식은 구문상의 차이가 있습니다.There are syntax differences between the regular expressions that can be used in Find what strings and those that are valid in MicrosoftMicrosoft .NET Framework programming. 예를 들어 찾기 및 바꾸기에서 중괄호({}) 표기법은 태그가 지정된 식에 사용됩니다.For example, in Find and Replace, the braces notation {} is used for tagged expressions. 따라서 "zo{1}" 식은 "zo" 다음에 태그 1이 오는 모든 경우(예: "Alonzo1" 및 "Gonzo1")와 일치합니다.So the expression "zo{1}" matches all occurrences of "zo" followed by the tag 1, as in "Alonzo1" and "Gonzo1". 그러나 .NET Framework 내에서 {} 표기법은 수량자에 사용됩니다.But within the .NET Framework, the notation {} is used for quantifiers. 따라서 "zo{1}" 식은 "z" 다음에 정확하게 하나의 "o"가 오는 모든 경우와 일치합니다(예: "zone"과 일치하지만 "zoo"와는 일치하지 않음).So the expression "zo{1}" matches all occurrences of "z" followed by exactly one "o", as in "zone" but not "zoo".

다음 표에서는 참조 목록에서 사용할 수 있는 정규식을 설명합니다.The following table describes the regular expressions available in the Reference List.

Expression 구문Syntax 설명Description
임의의 문자Any character 을 선택합니다.. 줄 바꿈을 제외한 임의의 문자 하나와 대응합니다.Matches any single character except a line break.
없거나 1개 이상Zero or more * 선행 식이 없거나 하나 이상인 경우와 대응하며 일치하는 모든 선행 식을 포함합니다.Matches zero or more occurrences of the preceding expression, making all possible matches.
1개 이상One or more + 적어도 하나 이상의 선행 식과 대응합니다.Matches at least one occurrence of the preceding expression.
줄의 시작Beginning of line ^ 대응 문자열을 줄의 시작 부분에 위치시킵니다.Anchors the match string to the beginning of a line.
줄의 끝End of line $ 대응 문자열을 줄의 끝 부분에 위치시킵니다.Anchors the match string to the end of a line.
단어의 시작Beginning of word < 단어가 텍스트의 해당 지점에서 시작할 경우에만 대응합니다.Matches only when a word begins at this point in the text.
단어의 끝End of word > 단어가 텍스트의 해당 지점에서 끝날 경우에만 대응합니다.Matches only when a word ends at this point in the text.
줄 바꿈Line break \n 플랫폼 독립적인 줄 바꿈과 대응합니다.Matches a platform-independent line break. 바꾸기 식에서 줄 바꿈을 삽입합니다.In a Replace expression, inserts a line break.
집합에 있는 임의의 문자 하나Any one character in the set [][] [] 안에 있는 문자 중 하나와 대응합니다.Matches any one of the characters within the []. 문자 범위를 지정하려면 시작 및 끝 문자를 대시(-)로 구분하여 나열합니다(예: [a-z]).To specify a range of characters, list the starting and ending character separated by a dash (-), as in [a-z].
집합에 없는 임의의 문자 하나Any one character not in the set [^...][^...] ^ 뒤의 문자 집합에 없는 임의의 문자와 대응합니다.Matches any character not in the set of characters following the ^.
또는Or || OR 기호(|) 앞이나 뒤에 있는 식과 대응합니다.Matches either the expression before or the one after the OR symbol (|). 대개 그룹 내에서 사용됩니다.Mostly used within a group. 예를 들어 (sponge|mud) bath는 "sponge bath" 및 "mud bath"와 대응합니다.For example, (sponge|mud) bath matches "sponge bath" and "mud bath."
이스케이프Escape |백슬래시(\) 뒤에 리터럴로 오는 문자와 대응합니다.Matches the character that follows the backslash (\) as a literal. 이렇게 하면 정규식 표기법에 사용된 문자(예: { 및 ^)를 찾을 수 있습니다.This allows you to find the characters used in regular expression notation, such as { and ^. 예를 들어 \^은 ^ 문자를 검색합니다.For example, \^ Searches for the ^ character.
태그가 지정된 식Tagged expression {}{} 괄호로 묶은 식으로 태그가 지정된 식과 대응합니다.Matches text tagged with the enclosed expression.
C/C++ 식별자C/C++ Identifier :i:i ([a-zA-Z_$][a-zA-Z0-9_$]) 식과 대응합니다.Matches the expression ([a-zA-Z_$][a-zA-Z0-9_$]).
따옴표 붙은 문자열Quoted string :q:q (("[^"]")|('[^']*')) 식과 대응합니다.Matches the expression (("[^"]")|('[^']*')).
공백 또는 탭Space or Tab :b:b 공백 또는 탭 문자와 대응합니다.Matches either space or tab characters.
정수Integer :z:z ([0-9]+) 식과 대응합니다.Matches the expression ([0-9]+).

찾기 및 바꾸기 작업에서 유효한 모든 정규식의 목록은 참조 목록에 표시된 것보다 더 많습니다.The list of all regular expressions that are valid in Find and Replace operations is longer than can be displayed in the Reference List. 또한 다음 정규식을 찾을 내용 문자열에 삽입할 수 있습니다.You can also insert any of the following regular expressions into a Find what string:

Expression 구문Syntax 설명Description
최소 - 없거나 1개 이상Minimal — zero or more @ 선행 식이 없거나 하나 이상인 경우와 대응하며 가능한 적은 수의 문자를 포함합니다.Matches zero or more occurrences of the preceding expression, matching as few characters as possible.
최소 - 1개 이상Minimal — one or more # 1개 이상의 선행 식과 대응하며 가능한 적은 수의 문자와 대응합니다.Matches one or more occurrences of the preceding expression, matching as few characters as possible.
n번 반복Repeat n times ^n 선행 식의 n번과 대응합니다.Matches n occurrences of the preceding expression. 예를 들어 [0-9]^4는 모든 4자리 시퀀스와 대응합니다.For example, [0-9]^4 matches any 4-digit sequence.
그룹화Grouping ()() 하위 식을 그룹화합니다.Groups a subexpression.
n번째 태그가 지정된 텍스트nth tagged text \n 찾기 및 바꾸기 식에서 n번째 태그가 지정된 식과 대응하는 텍스트를 나타냅니다. 여기서 n은 1부터 9까지의 숫자입니다.In a Find or Replace expression, indicates the text matched by the nth tagged expression, where n is a number from 1 to 9.

바꾸기 식에서 \0은 대응하는 전체 텍스트를 삽입합니다.In a Replace expression, \0 inserts the entire matched text.
오른쪽 정렬 필드Right-justified field \(w,n)\(w,n) 바꾸기 식에서 필드의 n번째 태그가 지정된 식을 적어도 w 문자 너비만큼 오른쪽 정렬합니다.In a Replace expression, right-justifies the nth tagged expression in a field at least w characters wide.
왼쪽 정렬 필드Left-justified field \(-w,n)\(-w,n) 바꾸기 식에서 필드의 n번째 태그가 지정된 식을 적어도 w 문자 너비만큼 왼쪽 정렬합니다.In a Replace expression, left-justifies the nth tagged expression in a field at least w characters wide.
대응 안 함Prevent match ~(X)~(X) 식의 해당 지점에 X가 나타날 경우 대응하지 않습니다.Prevents a match when X appears at this point in the expression. 예를 들어 real~(ity)는 "realty" 및 "really"의 "real"과 대응하지만 "reality"의 "real"과는 대응하지 않습니다.For example, real~(ity) matches the "real" in "realty" and "really," but not the "real" in "reality."
영숫자Alphanumeric character :a:a ([a-zA-Z0-9]) 식과 대응합니다.Matches the expression ([a-zA-Z0-9]).
영문자Alphabetic character :c:c ([a-zA-Z]) 식과 대응합니다.Matches the expression ([a-zA-Z]).
십진수Decimal digit :d:d ([0-9]) 식과 대응합니다.Matches the expression ([0-9]).
16진수Hexadecimal digit :h:h ([0-9a-fA-F]+) 식과 대응합니다.Matches the expression ([0-9a-fA-F]+).
유리수Rational number :n:n (([0-9]+.[0-9])|([0-9]*.[0-9]+)|([0-9]+)) 식과 대응합니다.Matches the expression (([0-9]+.[0-9])|([0-9]*.[0-9]+)|([0-9]+)).
영문자열Alphabetic string :w:w ([a-zA-Z]+) 식과 대응합니다.Matches the expression ([a-zA-Z]+).
이스케이프Escape \e\e 유니코드 U+001B입니다.Unicode U+001B.
BellBell \g\g 유니코드 U+0007입니다.Unicode U+0007.
백스페이스Backspace \h\h 유니코드 U+0008입니다.Unicode U+0008.
Tab \t\t 탭 문자와 대응하며 유니코드 U+0009입니다.Matches a tab character, Unicode U+0009.
유니코드 문자Unicode character \x#### 또는 \u####\x#### or \u#### 유니코드 값에 의해 제공된 문자와 대응합니다. 여기서 ####은 16진수입니다.Matches a character given by Unicode value where #### is hexadecimal digits. ISO 10646 코드 포인트 또는 서로게이트 쌍의 값을 제공하는 두 개의 유니코드 코드 포인트를 사용하여 Basic Multilingual Plane(즉, 서로게이트) 외부에 있는 문자를 지정할 수 있습니다.You can specify a character outside the Basic Multilingual Plane (that is, a surrogate) with the ISO 10646 code point or with two Unicode code points giving the values of the surrogate pair.

다음 표에서는 표준 유니코드 문자 속성으로 대응시키기 위한 구문을 나열합니다.The following table lists the syntax for matching by standard Unicode character properties. 두 자로 된 약어는 유니코드 문자 속성 데이터베이스에 나열된 것과 동일합니다.The two-letter abbreviation is the same as listed in the Unicode character properties database. 이러한 약어는 문자 집합의 일부로 지정할 수 있습니다.These may be specified as part of a character set. 예를 들어 [:Nd:Nl:No] 식은 모든 종류의 숫자와 대응합니다.For example, the expression [:Nd:Nl:No] matches any kind of digit.

Expression 구문Syntax 설명Description
대문자Uppercase letter :Lu:Lu 임의의 대문자 하나와 대응합니다.Matches any one upper case letter. 예를 들어 :Luhe는 "The"와 대응하지만 "the"와는 대응하지 않습니다.For example, :Luhe matches "The" but not "the".
소문자Lowercase letter :Ll:Ll 임의의 소문자 하나와 대응합니다.Matches any one lower case letter. 예를 들어 :Llhe는 "the"와 대응하지만 "The"와는 대응하지 않습니다.For example, :Llhe matches "the" but not "The".
단어의 첫 글자를 대문자로Title case letter :Lt:Lt 대문자와 소문자가 결합된 문자와 대응합니다(예: Nj 및 Dz).Matches characters that combine an uppercase letter with a lowercase letter, such as Nj and Dz.
한정자 문자Modifier letter :Lm:Lm 선행 문자의 수정을 나타내는 데 사용되는 쉼표, 교차 악센트, 더블 프라임 등의 문자나 문장 부호와 대응합니다.Matches letters or punctuation, such as commas, cross accents, and double prime, used to indicate modifications to the preceding letter.
기타 문자Other letter :Lo:Lo 기타 문자(예: 고딕 문자 ahsa)와 대응합니다.Matches other letters, such as gothic letter ahsa.
십진수Decimal digit :Nd:Nd 0-9와 같은 십진수 및 상응하는 전자 값과 대응합니다.Matches decimal digits such as 0-9 and their full-width equivalents.
문자 숫자Letter digit :Nl:Nl 문자 숫자(예: 로마 숫자 및 표의 숫자 0)와 대응합니다.Matches letter digits such as roman numerals and ideographic number zero.
기타 숫자Other digit :No:No 기타 숫자(예: 이전의 기울임꼴 숫자 1)와 대응합니다.Matches other digits such as old italic number one.
여는 문장 부호Open punctuation :Ps:Ps 여는 문장 문호(예: 여는 대괄호 및 여는 중괄호)와 대응합니다.Matches opening punctuation such as open brackets and braces.
닫는 문장 부호Close punctuation :Pe:Pe 닫는 문장 문호(예: 닫는 대괄호 및 닫는 중괄호)와 대응합니다.Matches closing punctuation such as closing brackets and braces.
여는 따옴표Initial quote punctuation :Pi:Pi 여는 큰따옴표와 대응합니다.Matches initial double quotation marks.
닫는 따옴표Final quote punctuation :Pf:Pf 작은따옴표 및 닫는 큰따옴표와 대응합니다.Matches single quotation marks and ending double quotation marks.
대시Dash punctuation :Pd:Pd 대시 표시와 대응합니다.Matches the dash mark.
연결선Connector punctuation :Pc:Pc 밑줄 표시와 대응합니다.Matches the underscore or underline mark.
기타 문장 부호Other punctuation :Po:Po (,), ?, ", !, @, #, %, &, *, \, (:), (;), ' 및 /와 대응합니다.Matches (,), ?, ", !, @, #, %, &, *, \, (:), (;), ', and /.
공백 구분 기호Space separator :Zs:Zs 공백과 대응합니다.Matches blanks.
줄 구분선Line separator :Zl:Zl 유니코드 문자 U+2028과 대응합니다.Matches the Unicode character U+2028.
단락 구분선Paragraph separator :Zp:Zp 유니코드 문자 U+2029와 대응합니다.Matches the Unicode character U+2029.
공백 없음 표시Non-spacing mark :Mn:Mn 공백 없음 표시와 대응합니다.Matches non-spacing marks.
결합 표시Combining mark :Mc:Mc 결합 표시와 대응합니다.Matches combining marks.
묶음 표시Enclosing mark :Me:Me 묶음 표시와 대응합니다.Matches enclosing marks.
수학 기호Math symbol :Sm:Sm +, =, ~, |, < 및 >와 대응합니다.Matches +, =, ~, |, <, and >.
통화 기호Currency symbol :Sc:Sc $ 및 기타 통화 기호와 대응합니다.Matches $ and other currency symbols.
한정자 기호Modifier symbol :Sk:Sk 한정자 기호(예: 곡절 악센트, 억음 악센트 및 장음 기호)와 대응합니다.Matches modifier symbols such as circumflex accent, grave accent, and macron.
기타 기호Other symbol :So:So 기타 기호(예: 저작권 기호, 필크로우 기호 및 각도 기호)와 대응합니다.Matches other symbols, such as the copyright sign, the pilcrow sign, and the degree sign.
기타 컨트롤Other control :Cc:Cc 줄 끝과 대응합니다.Matches end of line.
기타 형식Other format :Cf:Cf 형식 제어 문자(예: 양방향 제어 문자)와 대응합니다.Formatting control character such as the bi-directional control characters.
서로게이트Surrogate :Cs:Cs 서로게이트 쌍의 절반과 대응합니다.Matches one half of a surrogate pair.
기타 사용자 정의Other private-use :Co:Co 사용자 정의 영역의 임의 문자와 대응합니다.Matches any character from the private-use area.
기타 할당되지 않음Other not assigned :Cn:Cn 유니코드 문자에 매핑되지 않는 문자와 대응합니다.Matches characters that do not map to a Unicode character.

표준 유니코드 문자 속성 외에 다음 추가 속성을 문자 집합의 일부로 지정할 수 있습니다.In addition to the standard Unicode character properties, the following additional properties may be specified as part of a character set.

Expression 구문Syntax 설명Description
알파Alpha :Al:Al 임의의 문자 하나와 대응합니다.Matches any one character. 예를 들어 :Alhe는 "The", "then", "reached" 등의 단어와 대응합니다.For example, :Alhe matches words such as "The", "then", and "reached".
숫자Numeric :Nu:Nu 임의의 숫자 하나와 대응합니다.Matches any one number or digit.
문장 부호Punctuation :Pu:Pu ?, @, ' 등과 같은 임의의 문장 부호 하나와 대응합니다.Matches any one punctuation mark, such as ?, @, ', and so on.
공백White space :Wh:Wh 일반 및 표의 공백을 비롯하여 모든 유형의 공백과 대응합니다.Matches all types of white space, including publishing and ideographic spaces.
BidiBidi :Bi:Bi 오른쪽에서 왼쪽으로 쓰는 스크립트(예: 아랍어 및 히브리어)의 문자와 대응합니다.Matches characters from right-to-left scripts such as Arabic and Hebrew.
한글Hangul :Ha:Ha 한글 및 결합된 자모와 대응합니다.Matches Korean Hangul and combining Jamos.
히라가나Hiragana :Hi:Hi 히라가나 문자와 대응합니다.Matches hiragana characters.
가타카나Katakana :Ka:Ka 가타카나 문자와 대응합니다.Matches katakana characters.
표의/한문/간지Ideographic/Han/Kanji :Id:Id 표의 문자(예: 한문 및 간지)와 대응합니다.Matches ideographic characters, such as Han and Kanji.

참고 항목See Also

찾기 및 바꾸기 Search and Replace
와일드카드로 텍스트 검색Search Text with Wildcards