Элементы языка регулярных выражений — краткий справочник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:

Escape-последовательности символов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

Escape-знаки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. Дополнительные сведения см. в разделе Escape-символы.For more information, see Character Escapes.

Escape-символEscaped character Описание:Description ШаблонPattern Число соответствийMatches
\a Соответствует знаку колокольчика, \u0007.Matches a bell character, \u0007. \a "\u0007" в "Ошибка!""\u0007" in "Error!" + '\u0007'+ '\u0007'
\b В классе символов соответствует знаку BACKSPACE, \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 "элемент1\t", "элемент2\t" в "элемент1\tэлемент2\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\nЗдесь" в "\r\nЗдесь имеется\nдве строки.""\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\nЗдесь" в "\r\nЗдесь имеется\nдве строки.""\r\nThese" in "\r\nThese are\ntwo lines."
\e Соответствует escape-знаку, \u001B.Matches an escape, \u001B. \e "\x001B" в "\x001B""\x001B" in "\x001B"
\ nnn\ nnn Использует восьмеричное представление для указания символа (nnn состоит из двух или трех цифр).Uses octal representation to specify a character (nnn consists of two or three digits). \w\040\w "a b", "c d" в"a b", "c d" in

"a bc d""a bc d"
\x nn\x nn Использует шестнадцатеричное представление для указания символа (nn состоит ровно из двух цифр).Uses hexadecimal representation to specify a character (nn consists of exactly two digits). \w\x20\w "a b", "c d" в"a b", "c d" in

"a bc d""a bc d"
\c X\c X

\c x\c x
Соответствует управляющему символу ASCII, который задан как X или x, где 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 Совпадение со знаком Юникода в шестнадцатеричном представлении (строго четыре цифры, представленные как nnnn).Matches a Unicode character by using hexadecimal representation (exactly four digits, as represented by nnnn). \w\u0020\w "a b", "c d" в"a b", "c d" in

"a bc d""a bc d"
\ Если за этим знаком следует символ, не распознанный как escape-символ из этой и других таблиц данной темы, то соответствует в точности этому символу.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. Дополнительные сведения см. в разделе Character Classes.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"

"a", "e" в "lane""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] "r", "g", "n" в "reign""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] "A", "B" в "AB123""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{ имя }\p{ name } Соответствует любому одиночному символу в общей категории Юникода или в именованном блоке, указанном в параметре name.Matches any single character in the Unicode general category or named block specified by name. \p{Lu}

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

"Д", "Ж" в "ДЖem""Д", "Ж" in "ДЖem"
\P{ имя }\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}
"i", "t", "y" в "City""i", "t", "y" in "City"

"e", "m" в "ДЖem""e", "m" in "ДЖem"
\w Соответствует любому алфавитно-цифровому знаку.Matches any word character. \w "I", "D", "A", "1", "3" в "ID A1.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 Соответствует любой десятичной цифре.Matches any decimal digit. \d "4" в "4 = IV""4" in "4 = IV"
\D Соответствует любому символу, не являющемуся десятичной цифрой.Matches any character other than a decimal digit. \D " ", "=", " ", "I", "V" в "4 = IV"" ", "=", " ", "I", "V" in "4 = IV"

К началуBack to top

ПривязкиAnchors

Привязки, или атомарные утверждения нулевой ширины, приводят к успеху или сбою сопоставления, в зависимости от текущей позиции в строке, но не предписывают обработчику перемещаться по строке или обрабатывать символы.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" in

"901-333-""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" в"-333" in

"-901-333""-901-333"
\A Соответствие должно обнаруживаться в начале строки.The match must occur at the start of the string. \A\d{3} "901" в"901" in

"901-333-""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" в"-333" in

"-901-333""-901-333"
\z Соответствие должно обнаруживаться в конце строки.The match must occur at the end of the string. -\d{3}\z "-333" в"-333" in

"-901-333""-901-333"
\G Соответствие должно обнаруживаться в той точке, где заканчивается предыдущее соответствие.The match must occur at the point where the previous match ended. \G\(\d\) "(1)", "(3)", "(5)" in "(1)(3)(5)[7](9)""(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 "ends", "ender" в "end sends endure lender""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. Для получения дополнительной информации см. Grouping Constructs.For more information, see Grouping Constructs.

Конструкция группированияGrouping construct Описание:Description ШаблонPattern Число соответствийMatches
( часть выражения )( subexpression ) Захватывает соответствующую часть выражения и назначает ей порядковый номер, отсчитываемый от единицы.Captures the matched subexpression and assigns it a one-based ordinal number. (\w)\1 "ee" в "deep""ee" in "deep"
(?< имя > часть выражения )(?< name > subexpression ) Выделяет соответствующую часть выражения в именованную группу.Captures the matched subexpression into a named group. (?<double>\w)\k<double> "ee" в "deep""ee" in "deep"
(?< имя1 - имя2 > часть выражения )(?< name1 - name2 > subexpression ) Задает сбалансированное определение группы.Defines a balancing group definition. Дополнительные сведения см. в разделе "Сбалансированное определение группы" статьи Grouping Constructs.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 ) Определяет невыделяемую группу.Defines a noncapturing group. Write(?:Line)? "WriteLine" в "Console.WriteLine()""WriteLine" in "Console.WriteLine()"

"Write" в "Console.Write(value)""Write" in "Console.Write(value)"
(?imnsx-imnsx: часть выражения )(?imnsx-imnsx: subexpression ) Применяет или отключает указанные параметры в subexpression.Applies or disables the specified options within subexpression. Для получения дополнительной информации см. Regular Expression Options.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 ) Утверждение положительного просмотра вперед нулевой ширины.Zero-width positive lookahead assertion. \w+(?=\.) "is", "ran" и "out" в "He is."is", "ran", and "out" in "He is. The dog ran.The dog ran. The sun is out."The sun is out."
(?! часть выражения )(?! subexpression ) Утверждение отрицательного просмотра вперед нулевой ширины.Zero-width negative lookahead assertion. \b(?!un)\w+\b "sure", "used" в "unsure sure unity used""sure", "used" in "unsure sure unity used"
(?<= часть выражения )(?<= subexpression ) Утверждение положительного просмотра назад нулевой ширины.Zero-width positive lookbehind assertion. (?<=19)\d{2}\b "99", "50", "05" в "1851 1999 1950 1905 2003""99", "50", "05" in "1851 1999 1950 1905 2003"
(?<! часть выражения )(?<! subexpression ) Утверждение отрицательного просмотра назад нулевой ширины.Zero-width negative lookbehind assertion. (?<!19)\d{2}\b "51", "03" в "1851 1999 1950 1905 2003""51", "03" in "1851 1999 1950 1905 2003"
(?> часть выражения )(?> subexpression ) Часть выражения поиска без возврата (или "жадного" поиска).Nonbacktracking (or "greedy") subexpression. [13579](?>A+B+) "1ABB", "3ABB" и "5AB" в "1ABB 3ABBC 5AB 5AC""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. Для получения дополнительной информации см. Quantifiers.For more information, see Quantifiers.

КвантификаторQuantifier Описание:Description ШаблонPattern Число соответствийMatches
* Соответствует предыдущему элементу ноль или более раз.Matches the previous element zero or more times. \d*\.\d ".0", "19.9", "219.9"".0", "19.9", "219.9"
+ Соответствует предыдущему элементу один или более раз.Matches the previous element one or more times. "be+" "bee" в "been", "be" в "bent""bee" in "been", "be" in "bent"
? Соответствует предыдущему элементу ноль или один раз.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}" ",043" в "1,043.6", ",876", ",543" и ",210" в "9,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"
*? Предыдущий элемент не повторяется вообще или повторяется, но как можно меньшее число раз.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"
+? Предыдущий элемент повторяется один или несколько раз, но как можно меньшее число раз.Matches the previous element one or more times, but as few times as possible. "be+?" "be" в "been", "be" в "bent""be" in "been", "be" in "bent"
?? Предыдущий элемент не повторяется или повторяется один раз, но как можно меньшее число раз.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}?" ",043" в "1,043.6", ",876", ",543" и ",210" в "9,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"

"193", "024" в "193024""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. Для получения дополнительной информации см. Backreference Constructs.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< имя >\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. Дополнительные сведения см. в разделе Alternation Constructs.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) "the", "this" в "this is the day."the", "this" in "this is the day. ""
(?( expression ) yes | no )(?( expression ) yes | no ) Соответствует yes в случае соответствия шаблона регулярного выражения, определяемого выражением expression ; в противном случае соответствует дополнительной части no .Matches yes if the regular expression pattern designated by expression matches; otherwise, matches the optional no part. expression интерпретируется как утверждение нулевой ширины.expression is interpreted as a zero-width assertion. (?(A)A\d{2}\b|\b\d{3}\b) "A10", "910" в "A10 C103 910""A10", "910" in "A10 C103 910"
(?( name ) yes | no )(?( name ) yes | no ) Соответствует yes в случае соответствия именованной или нумерованной группы захвата name; в противном случае соответствует дополнительному 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. Для получения дополнительной информации см. Substitutions.For more information, see Substitutions. Приведенные в следующей таблице метасимволы являются атомарными утверждениями нулевой ширины.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.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 USD" "$103""$103"
$& Замещает копией полного соответствия.Substitutes a copy of the whole match. \$?\d*\.?\d+ **$&** "$1.30""$1.30" "**$1.30**""**$1.30**"
$` Замещает весь текст входной строки до соответствия.Substitutes all the text of the input string before the match. B+ $` "AABBCC""AABBCC" "AAAACC""AAAACC"
$' Замещает весь текст входной строки после соответствия.Substitutes all the text of the input string after the match. B+ $' "AABBCC""AABBCC" "AACCCC""AACCCC"
$+ Замещает последнюю захваченную группу.Substitutes the last group that was captured. B+(C+) $+ "AABBCCDD""AABBCCDD" AACCDDAACCDD
$_ Замещает всю входную строку.Substitutes the entire input string. B+ $_ "AABBCC""AABBCC" "AAAABBCCCC""AAAABBCCCC"

К началуBack to top

Параметры регулярных выраженийRegular Expression Options

Можно определить параметры, управляющие интерпретацией шаблона регулярного выражения обработчиком регулярных выражений.You can specify options that control how the regular expression engine interprets a regular expression pattern. Многие из этих параметров можно указать в шаблоне регулярного выражения либо в виде одной или нескольких констант 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.

  • С помощью grouping construct(?imnsx-imnsx:часть выражения), которая определяет параметры для только для указанной группы.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", "aaaAuto" в "aardvark AAAuto aaaAuto Adam breakfast""aardvark", "aaaAuto" in "aardvark AAAuto aaaAuto Adam breakfast"
m Использовать многострочный режим.Use multiline mode. ^ и $ соответствуют началу и концу строки (line), а не началу и концу строки (string).^ and $ match the beginning and end of a line, instead of the beginning and end of a string. Пример см. в подразделе "Многострочный режим" раздела Regular Expression Options.For an example, see the "Multiline Mode" section in Regular Expression Options.
n Не захватывать неименованные группы.Do not capture unnamed groups. Пример см. в подразделе "Только явные захваты" раздела Regular Expression Options.For an example, see the "Explicit Captures Only" section in Regular Expression Options.
s Использовать однострочный режим.Use single-line mode. Пример см. в подразделе "Однострочный режим" раздела Regular Expression Options.For an example, see the "Single-line Mode" section in Regular Expression Options.
x Игнорировать знаки пробела в шаблоне регулярного выражения, не преобразованные в escape-последовательность.Ignore unescaped white space in the regular expression pattern. \b(?x) \d+ \s \w+ "1 aardvark", "2 cats" в "1 aardvark 2 cats IV centurions""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. Для получения дополнительной информации см. Miscellaneous Constructs.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" в "ABA Able Act"\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