정규식 언어 - 빠른 참조Regular Expression Language - Quick Reference

정규식은 정규식 엔진이 입력 텍스트에서 찾으려고 하는 패턴입니다.A regular expression is a pattern that the regular expression engine attempts to match in input text. 패턴은 하나 이상의 문자 리터럴, 연산자 또는 구문으로 구성됩니다.A pattern consists of one or more character literals, operators, or constructs. 간략하게 살펴보려면 .NET 정규식을 참조하세요.For a brief introduction, see .NET Regular Expressions.

이 빠른 참조의 각 단원에서는 정규식을 정의하는 데 사용할 수 있는 특정 범주의 문자, 연산자 및 구문을 보여 줍니다.Each section in this quick reference lists a particular category of characters, operators, and constructs that you can use to define regular expressions:

문자 이스케이프Character escapes
문자 클래스Character classes
앵커Anchors
그룹화 구문Grouping constructs
수량자Quantifiers
역참조 구문Backreference constructs
교체 구문Alternation constructs
대체Substitutions
정규식 옵션Regular expression options
기타 구문Miscellaneous constructs

또한 쉽게 참조할 수 있도록 다운로드 및 인쇄할 수 있는 다음과 같은 두 가지 형식으로 이 정보를 제공했습니다.We’ve also provided this information in two formats that you can download and print for easy reference:

Word(.docx) 형식으로 다운로드Download in Word (.docx) format
PDF(.pdf) 형식으로 다운로드Download in PDF (.pdf) format

문자 이스케이프Character Escapes

정규식의 백슬래시 문자(\)는 뒤에 오는 문자가 다음 표에 나와 있는 것과 같은 특수 문자이거나 리터럴로 해석되어야 함을 나타냅니다.The backslash character (\) in a regular expression indicates that the character that follows it either is a special character (as shown in the following table), or should be interpreted literally. 자세한 내용은 문자 이스케이프를 참조하세요.For more information, see Character Escapes.

이스케이프된 문자Escaped character 설명Description 무늬Pattern 일치 항목Matches
\a 벨 문자인 \u0007을 찾습니다.Matches a bell character, \u0007. \a "\u0007""Error!" + '\u0007'"\u0007" in "Error!" + '\u0007'
\b 문자 클래스에서 백스페이스 문자인 \u0008을 찾습니다.In a character class, matches a backspace, \u0008. [\b]{3,} "\b\b\b\b""\b\b\b\b""\b\b\b\b" in "\b\b\b\b"
\t 탭 문자인 \u0009를 찾습니다.Matches a tab, \u0009. (\w+)\t "item1\titem2\t""item1\t", "item2\t""item1\t", "item2\t" in "item1\titem2\t"
\r 캐리지 리턴 문자인 \u000D를 찾습니다.Matches a carriage return, \u000D. \r 은 줄 바꿈 문자인 \n과 다릅니다.(\r is not equivalent to the newline character, \n.) \r\n(\w+) "\r\nThese""\r\nThese are\ntwo lines.""\r\nThese" in "\r\nThese are\ntwo lines."
\v 세로 탭 문자인 \u000B를 찾습니다.Matches a vertical tab, \u000B. [\v]{2,} "\v\v\v""\v\v\v""\v\v\v" in "\v\v\v"
\f 용지 공급 문자인 \u000C를 찾습니다.Matches a form feed, \u000C. [\f]{2,} "\f\f\f""\f\f\f""\f\f\f" in "\f\f\f"
\n 줄 바꿈 문자인 \u000A를 찾습니다.Matches a new line, \u000A. \r\n(\w+) "\r\nThese""\r\nThese are\ntwo lines.""\r\nThese" in "\r\nThese are\ntwo lines."
\e 이스케이프 문자인 \u001B를 찾습니다.Matches an escape, \u001B. \e "\x001B""\x001B""\x001B" in "\x001B"
\ nnn\ nnn 8진수 표현을 사용하여 문자를 지정합니다.nnn 은 두 자리 또는 세 자리로 구성됩니다.Uses octal representation to specify a character (nnn consists of two or three digits). \w\040\w "a bc d""a b", "c d""a b", "c d" in "a bc d"
\x nn\x nn 16진수 표현을 사용하여 문자를 지정합니다.nn 은 정확히 두 자리로 구성됩니다.Uses hexadecimal representation to specify a character (nn consists of exactly two digits). \w\x20\w "a bc d""a b", "c d""a b", "c d" in "a bc d"
\c X\c X

\c x\c x
X 또는 x로 지정한 ASCII 제어 문자를 찾습니다. 여기서 X 또는 x 는 제어 문자를 나타내는 문자입니다.Matches the ASCII control character that is specified by X or x, where X or x is the letter of the control character. \cC "\x0003""\x0003"(Ctrl-C)"\x0003" in "\x0003" (Ctrl-C)
\u nnnn\u nnnn 16진수 표현(정확히 네 자리로 구성되는 nnnn)을 사용하여 유니코드 문자를 찾습니다.Matches a Unicode character by using hexadecimal representation (exactly four digits, as represented by nnnn). \w\u0020\w "a bc d""a b", "c d""a b", "c d" in "a bc d"
\ 이 표나 이 항목의 다른 표에 있는 이스케이프된 문자로 인식되지 않는 문자가 뒤에 나올 경우 이 문자를 찾습니다.When followed by a character that is not recognized as an escaped character in this and other tables in this topic, matches that character. 예를 들어, \*\x2A와 같고 \.\x2E와 같습니다.For example, \* is the same as \x2A, and \. is the same as \x2E. 이를 통해 정규식 엔진이 언어 요소(예: * 또는 ?)와 \* 또는 \?로 표현되는 문자 리터럴을 구분할 수 있습니다.This allows the regular expression engine to disambiguate language elements (such as * or ?) and character literals (represented by \* or \?). \d+[\+-x\*]\d+ "(2+2) * 3*9""2+2""3*9""2+2" and "3*9" in "(2+2) * 3*9"

맨 위로 이동Back to top

문자 클래스Character Classes

문자 클래스는 문자 집합 중 하나를 찾습니다.A character class matches any one of a set of characters. 문자 클래스에는 다음 표에 나와 있는 언어 요소가 포함됩니다.Character classes include the language elements listed in the following table. 자세한 내용은 문자 클래스를 참조하세요.For more information, see Character Classes.

문자 클래스Character class 설명Description 무늬Pattern 일치 항목Matches
[ character_group ][ character_group ] character_group에서 단일 문자를 찾습니다.Matches any single character in character_group. 기본적으로 일치 항목 찾기에서는 대/소문자를 구분합니다.By default, the match is case-sensitive. [ae] "a""gray""a" in "gray"

"lane""a", "e""a", "e" in "lane"
[^ character_group ][^ character_group ] 부정: character_group에 없는 모든 단일 문자를 찾습니다.Negation: Matches any single character that is not in character_group. 기본적으로 character_group 의 문자는 대/소문자를 구분합니다.By default, characters in character_group are case-sensitive. [^aei] "reign""r", "g", "n""r", "g", "n" in "reign"
[ first - last ][ first - last ] 문자 범위: first에서 last 사이에 있는 모든 단일 문자를 찾습니다.Character range: Matches any single character in the range from first to last. [A-Z] "AB123""A", "B""A", "B" in "AB123"
. 와일드카드: \n 이외의 모든 단일 문자를 찾습니다.Wildcard: Matches any single character except \n.

리터럴 마침표 문자(.To match a literal period character (. 또는 \u002E)를 찾으려면 마침표 문자 앞에 이스케이프 문자를 추가해야 합니다(\.).or \u002E), you must precede it with the escape character (\.).
a.e "ave""nave""ave" in "nave"

"ate""water""ate" in "water"
\p{ name }\p{ name } 유니코드 일반 범주나 name으로 지정된 명명된 블록에 있는 모든 단일 문자를 찾습니다.Matches any single character in the Unicode general category or named block specified by name. \p{Lu}

\p{IsCyrillic}
"City Lights""C", "L""C", "L" in "City Lights"

"ДЖem""Д", "Ж""Д", "Ж" in "ДЖem"
\P{ name }\P{ name } 유니코드 일반 범주나 name으로 지정된 명명된 블록에 없는 모든 단일 문자를 찾습니다.Matches any single character that is not in the Unicode general category or named block specified by name. \P{Lu}

\P{IsCyrillic}
"City""i", "t", "y""i", "t", "y" in "City"

"ДЖem""e", "m""e", "m" in "ДЖem"
\w 단어 문자를 찾습니다.Matches any word character. \w "ID A1.3""I", "D", "A", "1", "3""I", "D", "A", "1", "3" in "ID A1.3"
\W 비단어 문자를 찾습니다.Matches any non-word character. \W "ID A1.3"" ", "."" ", "." in "ID A1.3"
\s 공백 문자를 나타냅니다.Matches any white-space character. \w\s "D ""ID A1.3""D " in "ID A1.3"
\S 공백 문자가 아닌 문자를 찾습니다.Matches any non-white-space character. \s\S " _""int __ctr"" _" in "int __ctr"
\d 10진수를 찾습니다.Matches any decimal digit. \d "4""4 = IV""4" in "4 = IV"
\D 10진수 이외의 모든 문자를 찾습니다.Matches any character other than a decimal digit. \D "4 = IV"" ", "=", " ", "I", "V"" ", "=", " ", "I", "V" in "4 = IV"

맨 위로 이동Back to top

앵커Anchors

앵커 또는 너비가 0인 원자적 어설션은 문자열에서 일치 항목의 현재 위치에 따라 일치의 성공 또는 실패 여부를 결정하지만 엔진에서 문자열을 따라 가거나 문자를 소비하도록 하지는 않습니다.Anchors, or atomic zero-width assertions, cause a match to succeed or fail depending on the current position in the string, but they do not cause the engine to advance through the string or consume characters. 다음 표에 나와 있는 메타문자는 앵커입니다.The metacharacters listed in the following table are anchors. 자세한 내용은 앵커을 참조하세요.For more information, see Anchors.

어설션Assertion 설명Description 무늬Pattern 일치 항목Matches
^ 기본적으로 일치 항목은 문자열의 시작 부분에서 시작되어야 합니다. 다중 선에서는 줄의 시작 부분에서 시작되어야 합니다.By default, the match must start at the beginning of the string; in multiline mode, it must start at the beginning of the line. ^\d{3} "901""901-333-""901" in "901-333-"
$ 기본적으로 일치 항목은 문자열의 끝부분 또는 문자열의 끝부분 \n 앞에서 발생해야 합니다. 다중 선에서는 줄의 끝부분 또는 줄의 끝 \n 앞에서 발생해야 합니다.By default, the match must occur at the end of the string or before \n at the end of the string; in multiline mode, it must occur before the end of the line or before \n at the end of the line. -\d{3}$ "-333""-901-333""-333" in "-901-333"
\A 일치 항목이 문자열의 시작 부분에 있어야 합니다.The match must occur at the start of the string. \A\d{3} "901""901-333-""901" in "901-333-"
\Z 일치 항목이 문자열의 끝이나 문자열의 끝에 있는 \n 앞에 있어야 합니다.The match must occur at the end of the string or before \n at the end of the string. -\d{3}\Z "-333""-901-333""-333" in "-901-333"
\z 일치 항목이 문자열의 끝에 있어야 합니다.The match must occur at the end of the string. -\d{3}\z "-333""-901-333""-333" in "-901-333"
\G 일치 항목이 이전 일치 항목 찾기가 끝난 지점에 있어야 합니다.The match must occur at the point where the previous match ended. \G\(\d\) "(1)(3)(5)[7](9)""(1)", "(3)", "(5)""(1)", "(3)", "(5)" in "(1)(3)(5)[7](9)"
\b 일치 항목이 \w (영숫자) 문자와 \W (영숫자가 아닌 문자) 문자 사이의 경계에 있어야 합니다.The match must occur on a boundary between a \w (alphanumeric) and a \W (nonalphanumeric) character. \b\w+\s\w+\b "them theme them them""them theme", "them them""them theme", "them them" in "them theme them them"
\B 일치 항목이 \b 경계에 있어야 합니다.The match must not occur on a \b boundary. \Bend\w*\b "end sends endure lender""ends", "ender""ends", "ender" in "end sends endure lender"

맨 위로 이동Back to top

그룹화 구문Grouping Constructs

그룹화 구문은 정규식의 하위 식을 나타내며 대개 입력 문자열의 부분 문자열을 캡처합니다.Grouping constructs delineate subexpressions of a regular expression and typically capture substrings of an input string. 그룹화 구문에는 다음 표에 나와 있는 언어 요소가 포함됩니다.Grouping constructs include the language elements listed in the following table. 자세한 내용은 그룹화 구문을 참조하세요.For more information, see Grouping Constructs.

그룹화 구문Grouping construct 설명Description 무늬Pattern 일치 항목Matches
( subexpression )( subexpression ) 일치하는 하위 식을 캡처하고 서수(1부터 시작)를 할당합니다.Captures the matched subexpression and assigns it a one-based ordinal number. (\w)\1 "ee""deep""ee" in "deep"
(?< name > subexpression )(?< name > subexpression ) 일치하는 하위 식을 명령된 그룹에 캡처합니다.Captures the matched subexpression into a named group. (?<double>\w)\k<double> "ee""deep""ee" in "deep"
(?< 이름1 - 이름2 > subexpression )(?< name1 - name2 > subexpression ) 균형 조정 그룹 정의를 정의합니다.Defines a balancing group definition. 자세한 내용은 그룹화 구문의 "균형 조정 그룹 정의" 섹션을 참조하세요.For more information, see the "Balancing Group Definition" section in Grouping Constructs. (((?'Open'\()[^\(\)]*)+((?'Close-Open'\))[^\(\)]*)+)*(?(Open)(?!))$ "((1-3)*(3-1))""3+2^((1-3)*(3-1))""((1-3)*(3-1))" in "3+2^((1-3)*(3-1))"
(?: subexpression )(?: subexpression ) 비캡처 그룹을 정의합니다.Defines a noncapturing group. Write(?:Line)? "WriteLine""Console.WriteLine()""WriteLine" in "Console.WriteLine()"

"Write""Console.Write(value)""Write" in "Console.Write(value)"
(?imnsx-imnsx: subexpression )(?imnsx-imnsx: subexpression ) subexpression 내에서 지정된 옵션을 적용하거나 사용하지 않도록 설정합니다.Applies or disables the specified options within subexpression. 자세한 내용은 정규식 옵션을 참조하세요.For more information, see Regular Expression Options. A\d{2}(?i:\w+)\b "A12xl A12XL a12xl""A12xl", "A12XL""A12xl", "A12XL" in "A12xl A12XL a12xl"
(?= subexpression )(?= subexpression ) 너비가 0인 긍정 우측 어설션입니다.Zero-width positive lookahead assertion. \w+(?=\.) "He is. The dog ran. The sun is out.""is", "ran""out""is", "ran", and "out" in "He is. The dog ran. The sun is out."
(?! subexpression )(?! subexpression ) 너비가 0인 부정 우측 어설션입니다.Zero-width negative lookahead assertion. \b(?!un)\w+\b "unsure sure unity used""sure", "used""sure", "used" in "unsure sure unity used"
(?<= subexpression )(?<= subexpression ) 너비가 0인 긍정 좌측 어설션입니다.Zero-width positive lookbehind assertion. (?<=19)\d{2}\b "1851 1999 1950 1905 2003""99", "50", "05""99", "50", "05" in "1851 1999 1950 1905 2003"
(?<! subexpression )(?<! subexpression ) 너비가 0인 부정 좌측 어설션입니다.Zero-width negative lookbehind assertion. (?<!19)\d{2}\b "1851 1999 1950 1905 2003""51", "03""51", "03" in "1851 1999 1950 1905 2003"
(?> subexpression )(?> subexpression ) 역추적하지 않는(또는 "greedy") 하위 식입니다.Nonbacktracking (or "greedy") subexpression. [13579](?>A+B+) "1ABB 3ABBC 5AB 5AC""1ABB", "3ABB""5AB""1ABB", "3ABB", and "5AB" in "1ABB 3ABBC 5AB 5AC"

맨 위로 이동Back to top

수량자Quantifiers

수량자는 이전 요소(문자, 그룹 또는 문자 클래스)의 인스턴스가 입력 문자열에 몇 개 있어야 일치 항목으로 간주되는지를 지정합니다.A quantifier specifies how many instances of the previous element (which can be a character, a group, or a character class) must be present in the input string for a match to occur. 수량자에는 다음 표에 나와 있는 언어 요소가 포함됩니다.Quantifiers include the language elements listed in the following table. 자세한 내용은 수량자를 참조하세요.For more information, see Quantifiers.

수량자Quantifier 설명Description 무늬Pattern 일치 항목Matches
* 이전 요소를 0개 이상 찾습니다.Matches the previous element zero or more times. \d*\.\d ".0", "19.9", "219.9"".0", "19.9", "219.9"
+ 이전 요소를 1개 이상 찾습니다.Matches the previous element one or more times. "be+" "been""bee", "bent""be""bee" in "been", "be" in "bent"
? 이전 요소를 0개 또는 1개 찾습니다.Matches the previous element zero or one time. "rai?n" "ran", "rain""ran", "rain"
{ n }{ n } 이전 요소를 정확히 n 회 찾습니다.Matches the previous element exactly n times. ",\d{3}" "1,043.6"",043", "9,876,543,210"",876", ",543"",210"",043" in "1,043.6", ",876", ",543", and ",210" in "9,876,543,210"
{ n ,}{ n ,} 이전 요소를 최소한 n 회 찾습니다.Matches the previous element at least n times. "\d{2,}" "166", "29", "1930""166", "29", "1930"
{ n , }{ n , m } 이전 요소를 n 회 이상 m 회 이하로 찾습니다.Matches the previous element at least n times, but no more than m times. "\d{3,5}" "166", "17668""166", "17668"

"19302""193024""19302" in "193024"
*? 이전 요소를 0개 이상 가능한 한 적은 개수로 찾습니다.Matches the previous element zero or more times, but as few times as possible. \d*?\.\d ".0", "19.9", "219.9"".0", "19.9", "219.9"
+? 이전 요소를 1개 이상 가능한 한 적은 개수로 찾습니다.Matches the previous element one or more times, but as few times as possible. "be+?" "been""be", "bent""be""be" in "been", "be" in "bent"
?? 이전 요소를 가능한 한 적은 개수로 0개 또는 1개 찾습니다.Matches the previous element zero or one time, but as few times as possible. "rai??n" "ran", "rain""ran", "rain"
{ n }?{ n }? 이전 요소를 정확히 n 회 찾습니다.Matches the preceding element exactly n times. ",\d{3}?" "1,043.6"",043", "9,876,543,210"",876", ",543"",210"",043" in "1,043.6", ",876", ",543", and ",210" in "9,876,543,210"
{ n ,}?{ n ,}? 이전 요소를 최소한 n 회 이상 가능한 한 적은 개수로 찾습니다.Matches the previous element at least n times, but as few times as possible. "\d{2,}?" "166", "29", "1930""166", "29", "1930"
{ n , }?{ n , m }? 이전 요소를 n 회에서 m 회 사이에서 찾으며, 가능한 한 적은 개수로 찾습니다.Matches the previous element between n and m times, but as few times as possible. "\d{3,5}?" "166", "17668""166", "17668"

"193024""193", "024""193", "024" in "193024"

맨 위로 이동Back to top

역참조 구문Backreference Constructs

역참조를 사용하면 이전에 찾은 하위 식을 이후에 동일한 정규식에서 식별할 수 있습니다.A backreference allows a previously matched subexpression to be identified subsequently in the same regular expression. 다음 표에서는 .NET의 정규식에서 지원하는 역참조 구문을 보여줍니다.The following table lists the backreference constructs supported by regular expressions in .NET. 자세한 내용은 역참조 구문을 참조하세요.For more information, see Backreference Constructs.

역참조 구문Backreference construct 설명Description 무늬Pattern 일치 항목Matches
\ number\ number 역참조입니다.Backreference. 번호가 매겨진 하위 식의 값을 찾습니다.Matches the value of a numbered subexpression. (\w)\1 "ee""seek""ee" in "seek"
\k< name >\k< name > 명명된 역참조입니다.Named backreference. 명명된 식의 값을 찾습니다.Matches the value of a named expression. (?<char>\w)\k<char> "ee""seek""ee" in "seek"

맨 위로 이동Back to top

교체 구문Alternation Constructs

교체 구문은 일치를 허용하도록 정규식을 수정합니다.Alternation constructs modify a regular expression to enable either/or matching. 이러한 구문에는 다음 표에 나와 있는 언어 요소가 포함됩니다.These constructs include the language elements listed in the following table. 자세한 내용은 교체 구문을 참조하세요.For more information, see Alternation Constructs.

교체 구문Alternation construct 설명Description 무늬Pattern 일치 항목Matches
| 세로 막대(|)로 구분된 한 가지 요소와 일치합니다.Matches any one element separated by the vertical bar (|) character. th(e|is|at) "this is the day.""the", "this""the", "this" in "this is the day."
(?( ) | no )(?( expression ) yes | no ) expression 으로 지정한 정규식 패턴이 일치하면 yes 와 일치합니다. 그렇지 않으면 선택 사항 no 부분과 일치합니다.Matches yes if the regular expression pattern designated by expression matches; otherwise, matches the optional no part. expression 은 너비가 0인 어설션으로 해석됩니다.expression is interpreted as a zero-width assertion. (?(A)A\d{2}\b|\b\d{3}\b) "A10 C103 910""A10", "910""A10", "910" in "A10 C103 910"
(?( name ) | no )(?( name ) yes | no ) 명명되거나 번호가 매겨진 캡처링 그룹인 name 에 일치하는 항목이 있으면 yes와 일치합니다. 그렇지 않으면 선택 사항 no와 일치합니다.Matches yes if name, a named or numbered capturing group, has a match; otherwise, matches the optional no. (?<quoted>")?(?(quoted).+?"|\S+\s) "Dogs.jpg \"Yiska playing.jpg\"""Dogs.jpg ", "\"Yiska playing.jpg\"""Dogs.jpg ", "\"Yiska playing.jpg\"" in "Dogs.jpg \"Yiska playing.jpg\""

맨 위로 이동Back to top

대체Substitutions

대체는 바꾸기 패턴에서 지원하는 정규식 언어 요소입니다.Substitutions are regular expression language elements that are supported in replacement patterns. 자세한 내용은 대체를 참조하세요.For more information, see Substitutions. 다음 표에 나와 있는 메타문자는 너비가 0인 원자성 어설션입니다.The metacharacters listed in the following table are atomic zero-width assertions.

문자Character 설명Description 무늬Pattern 바꾸기 패턴Replacement pattern 입력 문자열Input string 결과 문자열Result string
$ number$ number 그룹 number와 일치하는 부분 문자열을 대체합니다.Substitutes the substring matched by group number. \b(\w+)(\s)(\w+)\b $3$2$1 "one two" "two one"
${ name }${ name } 명명된 그룹 name과 일치하는 부분 문자열을 대체합니다.Substitutes the substring matched by the named group name. \b(?<word1>\w+)(\s)(?<word2>\w+)\b ${word2} ${word1} "one two" "two one"
$$ "$" 리터럴을 대체합니다.Substitutes a literal "$". \b(\d+)\s?USD $$$1 "103 USD" "$103"
$& 일치하는 전체 문자열의 복사본을 대체합니다.Substitutes a copy of the whole match. \$?\d*\.?\d+ **$&** "$1.30" "**$1.30**"
$` 일치하는 문자열 앞에 있는 입력 문자열의 모든 텍스트를 대체합니다. B+ $`$` Substitutes all the text of the input string before the match. B+ $` "AABBCC" "AAAACC"
$' 일치하는 문자열 뒤에 있는 입력 문자열의 모든 텍스트를 대체합니다.Substitutes all the text of the input string after the match. B+ $' "AABBCC" "AACCCC"
$+ 캡처된 마지막 그룹을 대체합니다.Substitutes the last group that was captured. B+(C+) $+ "AABBCCDD" "AACCDD"
$_ 전체 입력 문자열을 대체합니다.Substitutes the entire input string. B+ $_ "AABBCC" "AAAABBCCCC"

맨 위로 이동Back to top

정규식 옵션Regular Expression Options

정규식 엔진이 정규식 패턴을 해석하는 방법을 제어하는 옵션을 지정할 수 있습니다.You can specify options that control how the regular expression engine interprets a regular expression pattern. 옵션의 대부분은 인라인(정규식 패턴)에서 또는 1개 이상의 RegexOptions 상수로 지정될 수 있습니다.Many of these options can be specified either inline (in the regular expression pattern) or as one or more RegexOptions constants. 이 빠른 참조는 인라인 옵션만 나열합니다.This quick reference lists only inline options. 인라인 및 RegexOptions 옵션에 대한 자세한 내용은 Regular Expression Options을 참조하세요.For more information about inline and RegexOptions options, see the article Regular Expression Options.

인라인 옵션을 두 가지 방법으로 지정할 수 있습니다.You can specify an inline option in two ways:

  • 기타 구문 (?imnsx-imnsx)을 사용하여 옵션이나 옵션 집합 앞에 빼기 기호(-)를 추가해 해당 옵션을 해제할 수 있습니다.By using the miscellaneous construct (?imnsx-imnsx), where a minus sign (-) before an option or set of options turns those options off. 예를 들어 (?i-mn) 은 대/소문자를 구분하지 않는 일치 조건(i)을 설정하고 여러 줄 모드(m)를 해제하고 명명되지 않은 그룹 캡처(n)를 해제합니다.For example, (?i-mn) turns case-insensitive matching (i) on, turns multiline mode (m) off, and turns unnamed group captures (n) off. 이 옵션은 옵션이 정의되는 지점부터 정규식 패턴에 적용되고, 패턴 끝 또는 다른 구문이 옵션을 되돌리는 지점까지 유효합니다.The option applies to the regular expression pattern from the point at which the option is defined, and is effective either to the end of the pattern or to the point where another construct reverses the option.

  • 그룹화 구문(?imnsx-imnsx:subexpression)을 사용하여 지정된 그룹에 대해서만 옵션을 정의할 수 있습니다.By using the grouping construct(?imnsx-imnsx:subexpression), which defines options for the specified group only.

.NET 정규식 엔진은 다음 인라인 옵션을 지원합니다.The .NET regular expression engine supports the following inline options.

옵션Option 설명Description 무늬Pattern 일치 항목Matches
i 대/소문자를 구분하지 않는 일치를 사용합니다.Use case-insensitive matching. \b(?i)a(?-i)a\w+\b "aardvark AAAuto aaaAuto Adam breakfast""aardvark", "aaaAuto""aardvark", "aaaAuto" in "aardvark AAAuto aaaAuto Adam breakfast"
m 여러 줄 모드를 사용합니다.Use multiline mode. ^$ 는 각 줄의 시작 및 끝과 일치합니다(문자열의 시작 및 끝이 아님).^ and $ match the beginning and end of a line, instead of the beginning and end of a string. 예제를 보려면 정규식 옵션에서 "여러 줄 모드" 섹션을 참조하세요.For an example, see the "Multiline Mode" section in Regular Expression Options.
n 명명되지 않은 그룹을 캡처하지 않습니다.Do not capture unnamed groups. 예를 들어 정규식 옵션에서 "명시적 캡처만 해당" 섹션을 참조하세요.For an example, see the "Explicit Captures Only" section in Regular Expression Options.
s 한 줄 모드를 사용합니다.Use single-line mode. 예제를 보려면 정규식 옵션에서 "한 줄 모드" 섹션을 참조하세요.For an example, see the "Single-line Mode" section in Regular Expression Options.
x 정규식 패턴에서 이스케이프되지 않은 공백은 무시합니다.Ignore unescaped white space in the regular expression pattern. \b(?x) \d+ \s \w+ "1 aardvark 2 cats IV centurions""1 aardvark", "2 cats""1 aardvark", "2 cats" in "1 aardvark 2 cats IV centurions"

맨 위로 이동Back to top

기타 구문Miscellaneous Constructs

기타 구문은 정규식 패턴을 수정하거나 정규식 패턴에 대한 정보를 제공합니다.Miscellaneous constructs either modify a regular expression pattern or provide information about it. 다음 표에서는 .NET에서 지원하는 기타 구문을 보여줍니다.The following table lists the miscellaneous constructs supported by .NET. 자세한 내용은 기타 구문을 참조하세요.For more information, see Miscellaneous Constructs.

구문Construct 정의Definition 예제Example
(?imnsx-imnsx) 패턴 중간에 대/소문자 구분하지 않음과 같은 옵션을 설정하거나 해제합니다. 자세한 내용은 정규식 옵션을 참조하세요.Sets or disables options such as case insensitivity in the middle of a pattern.For more information, see Regular Expression Options. \bA(?i)b\w+\b"ABA Able Act""ABA", "Able"와 일치합니다.\bA(?i)b\w+\b matches "ABA", "Able" in "ABA Able Act"
(?# 주석 )(?# comment ) 인라인 주석입니다.Inline comment. 주석이 첫 번째 닫는 괄호 문자에서 끝납니다.The comment ends at the first closing parenthesis. \bA(?#Matches words starting with A)\w+\b
# [줄의 끝]# [to end of line] X-모드 주석입니다.X-mode comment. 주석이 이스케이프되지 않은 # 에서 시작하여 줄 끝까지 이어집니다.The comment starts at an unescaped # and continues to the end of the line. (?x)\bA\w+\b#Matches words starting with A

참고 항목See also