Język wyrażeń regularnych — podręczny wykazRegular Expression Language - Quick Reference

Wyrażenie regularne to wzorzec, który aparat wyrażeń regularnych próbuje dopasować w tekście wejściowym.A regular expression is a pattern that the regular expression engine attempts to match in input text. Wzorzec składa się z co najmniej jednego literału znakowego, operatora lub konstrukcji.A pattern consists of one or more character literals, operators, or constructs. Aby uzyskać krótkie wprowadzenie – zobacz wyrażeń regularnych programu .NET.For a brief introduction, see .NET Regular Expressions.

Każda sekcja w tym krótkim opisie przedstawia pewną kategorię znaków, operatorów i konstrukcji, które służą do definiowania wyrażeń regularnych.Each section in this quick reference lists a particular category of characters, operators, and constructs that you can use to define regular expressions.

Udostępniliśmy również te informacje w dwa formaty, które można pobrać i wydrukować łatwiejszego odwoływania:We’ve also provided this information in two formats that you can download and print for easy reference:

Pobierz w formacie programu Word (.docx)Download in Word (.docx) format
Pobierz w formacie PDF (PDF)Download in PDF (.pdf) format

Znaki unikoweCharacter Escapes

Znak ukośnika odwrotnego (\) w wyrażeniu regularnym wskazuje, że znak, który następuje po nim jest znakiem specjalnym (jak pokazano w poniższej tabeli) lub powinien być interpretowany literalnie.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. Aby uzyskać więcej informacji, zobacz Znaki specjalne. For more information, see Character Escapes.

Znak poprzedzony znakiem ucieczkiEscaped character OpisDescription WzorzecPattern DopasowaniaMatches
\a Dopasowuje znak sygnału dźwiękowego, \u0007.Matches a bell character, \u0007. \a "\u0007" W "Error!" + '\u0007'"\u0007" in "Error!" + '\u0007'
\b W klasie znaków dopasowuje znak backspace, \u0008.In a character class, matches a backspace, \u0008. [\b]{3,} "\b\b\b\b" W "\b\b\b\b""\b\b\b\b" in "\b\b\b\b"
\t Dopasowuje znak tabulatora, \u0009.Matches a tab, \u0009. (\w+)\t "item1\t", "item2\t" w "item1\titem2\t""item1\t", "item2\t" in "item1\titem2\t"
\r Dopasowuje znak powrotu karetki, \u000DMatches a carriage return, \u000D. (\r nie jest odpowiednikiem znaku nowego wiersza, \n.)(\r is not equivalent to the newline character, \n.) \r\n(\w+) "\r\nThese" W "\r\nThese are\ntwo lines.""\r\nThese" in "\r\nThese are\ntwo lines."
\v Dopasowuje tabulator pionowy, \u000B.Matches a vertical tab, \u000B. [\v]{2,} "\v\v\v" W "\v\v\v""\v\v\v" in "\v\v\v"
\f Dopasowuje znak wysuwu strony, \u000C.Matches a form feed, \u000C. [\f]{2,} "\f\f\f" W "\f\f\f""\f\f\f" in "\f\f\f"
\n Dopasowuje znak nowego wiersza, \u000A.Matches a new line, \u000A. \r\n(\w+) "\r\nThese" W "\r\nThese are\ntwo lines.""\r\nThese" in "\r\nThese are\ntwo lines."
\e Dopasowuje znak escape, \u001B.Matches an escape, \u001B. \e "\x001B" W "\x001B""\x001B" in "\x001B"
\ nnn\ nnn Używa ósemkowej reprezentacji określającej znak (nnn składa się z dwóch lub trzech cyfr).Uses octal representation to specify a character (nnn consists of two or three digits). \w\040\w "a b", "c d" w "a bc d""a b", "c d" in "a bc d"
\x nn\x nn Używa szesnastkowej reprezentacji określającej znak (nn składa się dokładnie z dwóch cyfr).Uses hexadecimal representation to specify a character (nn consists of exactly two digits). \w\x20\w "a b", "c d" w "a bc d""a b", "c d" in "a bc d"
\c X\c X

\c x\c x
Dopasowuje znak kontrolny ASCII, który jest określony przez X lub x, gdzie X lub x jest literą znaku kontrolnego.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" w "\x0003" (Ctrl-C)"\x0003" in "\x0003" (Ctrl-C)
\u nnnn\u nnnn Dopasowuje znak Unicode przy użyciu reprezentacji szesnastkowej (dokładnie cztery cyfry, reprezentowane przez nnnn).Matches a Unicode character by using hexadecimal representation (exactly four digits, as represented by nnnn). \w\u0020\w "a b", "c d" w "a bc d""a b", "c d" in "a bc d"
\ Kiedy następuje po nim znak, który nie jest rozpoznawany jako znak ucieczki w tej lub innej tabeli zawartej w tym temacie, dopasowuje ten znak.When followed by a character that is not recognized as an escaped character in this and other tables in this topic, matches that character. Na przykład \* jest taka sama jak \x2A, i \. jest taka sama jak \x2E.For example, \* is the same as \x2A, and \. is the same as \x2E. Umożliwia to aparatowi wyrażeń regularnych rozróżniać elementy języka (takie jak * lub?) i literały znakowe (reprezentowane przez \* lub \?).This allows the regular expression engine to disambiguate language elements (such as * or ?) and character literals (represented by \* or \?). \d+[\+-x\*]\d+ "2+2" i "3*9" w "(2+2) * 3*9""2+2" and "3*9" in "(2+2) * 3*9"

Powrót do początkuBack to top

Klasy znakuCharacter Classes

Klasa znaków dopasowuje dowolny zestaw znaków.A character class matches any one of a set of characters. Klasy znaków obejmują elementy języka wymienione w poniższej tabeli.Character classes include the language elements listed in the following table. Aby uzyskać więcej informacji, zobacz klas znaków.For more information, see Character Classes.

Klasa znakówCharacter class OpisDescription WzorzecPattern DopasowaniaMatches
[ character_group ][ character_group ] Dopasowuje dowolny pojedynczy znak w character_group.Matches any single character in character_group. Domyślnie w dopasowaniu jest uwzględniana wielkość liter.By default, the match is case-sensitive. [ae] "a" W "gray""a" in "gray"

"a", "e" w "lane""a", "e" in "lane"
[^ character_group ][^ character_group ] Negacja: Dopasowuje dowolny pojedynczy znak, który nie znajduje się w character_group.Negation: Matches any single character that is not in character_group. Domyślnie, znaki w character_group jest rozróżniana wielkość liter.By default, characters in character_group are case-sensitive. [^aei] "r", "g", "n" w "reign""r", "g", "n" in "reign"
[ first - last ][ first - last ] Zakres znaków: Dopasowuje dowolny pojedynczy znak z zakresu od pierwszy do ostatniego.Character range: Matches any single character in the range from first to last. [A-Z] "A", "B" w "AB123""A", "B" in "AB123"
. Symbol wieloznaczny: Dopasowuje dowolny pojedynczy znak z wyjątkiem \n.Wildcard: Matches any single character except \n.

Aby dopasować znak literału kropki (.To match a literal period character (. lub \u002E), należy poprzedzić znak ucieczki (\.).or \u002E), you must precede it with the escape character (\.).
a.e "ave" W "nave""ave" in "nave"

"ate" W "water""ate" in "water"
\p{ Nazwa }\p{ name } Dopasowuje dowolny pojedynczy znak w ogólnej kategorii Unicode lub nazwanego bloku określonego przez nazwa.Matches any single character in the Unicode general category or named block specified by name. \p{Lu}

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

"Д", "Ж" w "ДЖem""Д", "Ж" in "ДЖem"
\P{ Nazwa }\P{ name } Dopasowuje dowolny pojedynczy znak, który nie znajduje się w ogólnej kategorii Unicode lub nazwanego bloku określonego przez nazwa.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" w "City""i", "t", "y" in "City"

"e", "m" w "ДЖem""e", "m" in "ДЖem"
\w Dopasowuje dowolny znak słowa.Matches any word character. \w "I", "D", "A", "1", "3" w "ID A1.3""I", "D", "A", "1", "3" in "ID A1.3"
\W Dopasowuje dowolny znak niebędący znakiem słowa.Matches any non-word character. \W " ", "." w "ID A1.3"" ", "." in "ID A1.3"
\s Dopasowuje dowolny znak odstępu.Matches any white-space character. \w\s "D " W "ID A1.3""D " in "ID A1.3"
\S Dopasowuje dowolny znak niebędący znakiem odstępu.Matches any non-white-space character. \s\S " _" W "int __ctr"" _" in "int __ctr"
\d Dopasowuje dowolną cyfrę dziesiętną.Matches any decimal digit. \d "4" W "4 = IV""4" in "4 = IV"
\D Dopasowuje dowolny znak inny niż cyfra dziesiętna.Matches any character other than a decimal digit. \D " ", "=", " ", "I", "V" w "4 = IV"" ", "=", " ", "I", "V" in "4 = IV"

Powrót do początkuBack to top

KotwiceAnchors

Kotwice (niepodzielne asercje o zerowej szerokości) powodują, że sukces lub niepowodzenie dopasowywania jest zależne od bieżącej pozycji w ciągu, ale nie powodują, że aparat przechodzi do dalszej części ciągu lub używa znaków.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. Metaznaki wymienione w poniższej tabeli są kotwicami.The metacharacters listed in the following table are anchors. Aby uzyskać więcej informacji, zobacz kotwic.For more information, see Anchors.

AsercjaAssertion OpisDescription WzorzecPattern DopasowaniaMatches
^ Domyślnie dopasowanie musi rozpoczynać się od ciągu; w tryb wielowierszowy musi zaczynać się od początku wiersza.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" W "901-333-""901" in "901-333-"
$ Domyślnie dopasowanie musi wystąpić na końcu ciągu lub przed \n na końcu ciągu; w tryb wielowierszowy musi wystąpić przed końcem wiersza lub przed \n na końcu wiersza.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" W "-901-333""-333" in "-901-333"
\A Dopasowanie musi wystąpić na początku ciągu.The match must occur at the start of the string. \A\d{3} "901" W "901-333-""901" in "901-333-"
\Z Dopasowanie musi wystąpić na końcu ciągu lub przed \n na końcu ciągu.The match must occur at the end of the string or before \n at the end of the string. -\d{3}\Z "-333" W "-901-333""-333" in "-901-333"
\z Dopasowanie musi wystąpić na końcu ciągu.The match must occur at the end of the string. -\d{3}\z "-333" W "-901-333""-333" in "-901-333"
\G Dopasowanie musi wystąpić w punkcie, w którym kończy się poprzednie dopasowanie.The match must occur at the point where the previous match ended. \G\(\d\) "(1)", "(3)", "(5)" w "(1)(3)(5)[7](9)""(1)", "(3)", "(5)" in "(1)(3)(5)[7](9)"
\b Dopasowanie musi wystąpić na granicy między \w (alfanumeryczny) i \W znaku (inny niż alfanumeryczny).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" w "them theme them them""them theme", "them them" in "them theme them them"
\B Dopasowanie nie musi wystąpić na \b granic.The match must not occur on a \b boundary. \Bend\w*\b "ends", "ender" w "end sends endure lender""ends", "ender" in "end sends endure lender"

Powrót do początkuBack to top

Konstrukty grupująceGrouping Constructs

Konstrukcje grupujące wyznaczają podwyrażenia wyrażeń regularnych i często przechwytywane podciągi ciągu wejściowego.Grouping constructs delineate subexpressions of a regular expression and typically capture substrings of an input string. Konstrukcje grupowania obejmują elementy języka wymienione w poniższej tabeli.Grouping constructs include the language elements listed in the following table. Aby uzyskać więcej informacji, zobacz Konstrukcje grupujące.For more information, see Grouping Constructs.

Konstrukcja grupującaGrouping construct OpisDescription WzorzecPattern DopasowaniaMatches
( Podwyrażenie )( subexpression ) Przechwytuje dopasowane podwyrażenia i przypisuje mu liczbę porządkową (liczone od zera).Captures the matched subexpression and assigns it a one-based ordinal number. (\w)\1 "ee" W "deep""ee" in "deep"
(?< Nazwa > Podwyrażenie )(?< name > subexpression ) Przechwytuje dopasowane podwyrażenie do nazwanej grupy.Captures the matched subexpression into a named group. (?<double>\w)\k<double> "ee" W "deep""ee" in "deep"
(?< name1 - name2 > subexpression )(?< name1 - name2 > subexpression ) Określa definicję grupy równoważącej.Defines a balancing group definition. Aby uzyskać więcej informacji, zobacz sekcję "Definicja grupy równoważącej" w Konstrukcje grupujące.For more information, see the "Balancing Group Definition" section in Grouping Constructs. (((?'Open'\()[^\(\)]*)+((?'Close-Open'\))[^\(\)]*)+)*(?(Open)(?!))$ "((1-3)*(3-1))" W "3+2^((1-3)*(3-1))""((1-3)*(3-1))" in "3+2^((1-3)*(3-1))"
(?: Podwyrażenie )(?: subexpression ) Definiuje nieprzechwytywaną grupę.Defines a noncapturing group. Write(?:Line)? "WriteLine" W "Console.WriteLine()""WriteLine" in "Console.WriteLine()"

"Write" W "Console.Write(value)""Write" in "Console.Write(value)"
(?imnsx-imnsx: Podwyrażenie )(?imnsx-imnsx: subexpression ) Stosuje lub wyłącza określone opcje w Podwyrażenie.Applies or disables the specified options within subexpression. Aby uzyskać więcej informacji, zobacz Opcje wyrażeń regularnych.For more information, see Regular Expression Options. A\d{2}(?i:\w+)\b "A12xl", "A12XL" w "A12xl A12XL a12xl""A12xl", "A12XL" in "A12xl A12XL a12xl"
(?= Podwyrażenie )(?= subexpression ) Pozytywna asercja wyprzedzająca o zerowej szerokości.Zero-width positive lookahead assertion. \w+(?=\.) "is", "ran", i "out" w "He is. The dog ran. The sun is out.""is", "ran", and "out" in "He is. The dog ran. The sun is out."
(?! Podwyrażenie )(?! subexpression ) Negatywna asercja wyprzedzająca o zerowej szerokości.Zero-width negative lookahead assertion. \b(?!un)\w+\b "sure", "used" w "unsure sure unity used""sure", "used" in "unsure sure unity used"
(?<= Podwyrażenie )(?<= subexpression ) Pozytywna asercja wsteczna o zerowej szerokości.Zero-width positive lookbehind assertion. (?<=19)\d{2}\b "99", "50", "05" w "1851 1999 1950 1905 2003""99", "50", "05" in "1851 1999 1950 1905 2003"
(?<! Podwyrażenie )(?<! subexpression ) Negatywna asercja wsteczna o zerowej szerokości.Zero-width negative lookbehind assertion. (?<!19)\d{2}\b "51", "03" w "1851 1999 1950 1905 2003""51", "03" in "1851 1999 1950 1905 2003"
(?> Podwyrażenie )(?> subexpression ) Podwyrażenia bez wycofywania („zachłanne”)Nonbacktracking (or "greedy") subexpression. [13579](?>A+B+) "1ABB", "3ABB", i "5AB" w "1ABB 3ABBC 5AB 5AC""1ABB", "3ABB", and "5AB" in "1ABB 3ABBC 5AB 5AC"

Powrót do początkuBack to top

KwantyfikatoryQuantifiers

Kwantyfikator określa, ile wystąpień poprzedniego elementu (którym może być znak, grupa lub klasa znaków) musi znajdować się w ciągu wejściowym, aby wystąpiło dopasowanie.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. Kwantyfikatory obejmują elementy języka wymienione w poniższej tabeli.Quantifiers include the language elements listed in the following table. Aby uzyskać więcej informacji, zobacz Kwantyfikatory.For more information, see Quantifiers.

KwantyfikatorQuantifier OpisDescription WzorzecPattern DopasowaniaMatches
* Dopasowuje poprzedni element zero lub większą liczbę razy.Matches the previous element zero or more times. \d*\.\d ".0", "19.9", "219.9"".0", "19.9", "219.9"
+ Dopasowuje poprzedni element co najmniej raz.Matches the previous element one or more times. "be+" "bee" w "been", "be" w "bent""bee" in "been", "be" in "bent"
? Dopasowuje poprzedni element zero lub jeden raz.Matches the previous element zero or one time. "rai?n" "ran", "rain""ran", "rain"
{ n }{ n } Dopasowuje poprzedni element dokładnie n razy.Matches the previous element exactly n times. ",\d{3}" ",043" w "1,043.6", ",876", ",543", i ",210" w "9,876,543,210"",043" in "1,043.6", ",876", ",543", and ",210" in "9,876,543,210"
{ n ,}{ n ,} Dopasowuje poprzedni element co najmniej n razy.Matches the previous element at least n times. "\d{2,}" "166", "29", "1930""166", "29", "1930"
{ n , m }{ n , m } Dopasowuje poprzedni element co najmniej n razy, ale nie więcej niż m razy.Matches the previous element at least n times, but no more than m times. "\d{3,5}" "166", "17668""166", "17668"

"19302" W "193024""19302" in "193024"
*? Dopasowuje poprzedni element zero lub większą liczbę razy (przy czym ta liczba jest jak najmniejsza).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"
+? Dopasowuje poprzedni element raz lub większą liczbę razy (przy czym ta liczba jest jak najmniejsza).Matches the previous element one or more times, but as few times as possible. "be+?" "be" w "been", "be" w "bent""be" in "been", "be" in "bent"
?? Dopasowuje poprzedni element zero lub jeden raz (przy czym liczba dopasowań jest jak najmniejsza).Matches the previous element zero or one time, but as few times as possible. "rai??n" "ran", "rain""ran", "rain"
{ n }?{ n }? Dopasowuje poprzedzający element dokładnie n razy.Matches the preceding element exactly n times. ",\d{3}?" ",043" w "1,043.6", ",876", ",543", i ",210" w "9,876,543,210"",043" in "1,043.6", ",876", ",543", and ",210" in "9,876,543,210"
{ n ,}?{ n ,}? Dopasowuje poprzedni element co najmniej n razy, ale tyle razy, ile to możliwe.Matches the previous element at least n times, but as few times as possible. "\d{2,}?" "166", "29", "1930""166", "29", "1930"
{ n , m }?{ n , m }? Dopasowuje poprzedni element między n i m razy, ale tyle razy, ile to możliwe.Matches the previous element between n and m times, but as few times as possible. "\d{3,5}?" "166", "17668""166", "17668"

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

Powrót do początkuBack to top

Konstrukty grupowania wstecznegoBackreference Constructs

Dopasowywanie wsteczne umożliwia kolejne identyfikacje uprzednio dopasowanego podwyrażenia w tym samym wyrażeniu regularnym.A backreference allows a previously matched subexpression to be identified subsequently in the same regular expression. W poniższej tabeli wymieniono konstrukcje dopasowywania wstecznego obsługiwane przez wyrażenia regularne w .NET.The following table lists the backreference constructs supported by regular expressions in .NET. Aby uzyskać więcej informacji, zobacz konstrukcje dopasowywania wstecznego.For more information, see Backreference Constructs.

Konstrukcja dopasowywania wstecznegoBackreference construct OpisDescription WzorzecPattern DopasowaniaMatches
\ Numer\ number Dopasowanie wsteczne.Backreference. Dopasowuje wartość numerowanego podwyrażenia.Matches the value of a numbered subexpression. (\w)\1 "ee" W "seek""ee" in "seek"
\k< Nazwa >\k< name > Nazwane dopasowanie wsteczne.Named backreference. Dopasowuje wartość nazwanego wyrażenia.Matches the value of a named expression. (?<char>\w)\k<char> "ee" W "seek""ee" in "seek"

Powrót do początkuBack to top

Konstrukty naprzemienneAlternation Constructs

Konstrukcje zmiany modyfikują wyrażenie regularne, aby umożliwić dopasowanie typu albo/albo.Alternation constructs modify a regular expression to enable either/or matching. Te konstrukcje obejmują elementy języka wyszczególnione w poniższej tabeli.These constructs include the language elements listed in the following table. Aby uzyskać więcej informacji, zobacz konstrukcje.For more information, see Alternation Constructs.

Konstrukcje zmianyAlternation construct OpisDescription WzorzecPattern DopasowaniaMatches
| Dopasowuje dowolny jeden element oddzielonych pionowy pasek (|) znaków.Matches any one element separated by the vertical bar (|) character. th(e|is|at) "the", "this" w "this is the day.""the", "this" in "this is the day."
(?( wyrażenie ) tak | nie )(?( expression ) yes | no ) Dopasowuje tak Jeśli wzorzec wyrażenia regularnego wyznaczony przez wyrażenie pasuje; w przeciwnym razie dopasowuje opcjonalną część nie części.Matches yes if the regular expression pattern designated by expression matches; otherwise, matches the optional no part. wyrażenie jest interpretowane jako asercja o zerowej szerokości.expression is interpreted as a zero-width assertion. (?(A)A\d{2}\b|\b\d{3}\b) "A10", "910" w "A10 C103 910""A10", "910" in "A10 C103 910"
(?( Nazwa ) tak | nie )(?( name ) yes | no ) Dopasowuje tak Jeśli nazwa, nazwana lub ponumerowana grupa przechwywtywania została dopasowana; w przeciwnym razie dopasowuje opcjonalną część nie.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\"" w "Dogs.jpg \"Yiska playing.jpg\"""Dogs.jpg ", "\"Yiska playing.jpg\"" in "Dogs.jpg \"Yiska playing.jpg\""

Powrót do początkuBack to top

ZastępstwaSubstitutions

Podstawienia są elementami języka wyrażeń regularnych, które są obsługiwane we wzorcach zamieniania.Substitutions are regular expression language elements that are supported in replacement patterns. Aby uzyskać więcej informacji, zobacz podstawienia.For more information, see Substitutions. Metaznaki wymienione w poniższej tabeli są niepodzielnymi asercjami o zerowej szerokości.The metacharacters listed in the following table are atomic zero-width assertions.

ZnakCharacter OpisDescription WzorzecPattern Wzorzec zamienianiaReplacement pattern Ciąg wejściowyInput string Ciąg wynikowyResult string
$ Numer$ number Podstawia podciąg dopasowany przez grupę numer.Substitutes the substring matched by group number. \b(\w+)(\s)(\w+)\b $3$2$1 "one two" "two one"
${ Nazwa }${ name } Podstawia podciąg dopasowany przez nazwaną grupę nazwa.Substitutes the substring matched by the named group name. \b(?<word1>\w+)(\s)(?<word2>\w+)\b ${word2} ${word1} "one two" "two one"
$$ Podstawia literał „$”.Substitutes a literal "$". \b(\d+)\s?USD $$$1 "103 USD" "$103"
$& Podstawia kopię całego dopasowania.Substitutes a copy of the whole match. \$?\d*\.?\d+ **$&** "$1.30" "**$1.30**"
$` Podstawia cały tekst ciągu wejściowego przed dopasowaniem.Substitutes all the text of the input string before the match. B+ $` "AABBCC" "AAAACC"
$' Podstawia cały tekst ciągu wejściowego po dopasowaniu.Substitutes all the text of the input string after the match. B+ $' "AABBCC" "AACCCC"
$+ Podstawia ostatnią przechwyconą grupę.Substitutes the last group that was captured. B+(C+) $+ "AABBCCDD" "AACCDD"
$_ Podstawia cały ciąg wejściowy.Substitutes the entire input string. B+ $_ "AABBCC" "AAAABBCCCC"

Powrót do początkuBack to top

Opcje wyrażeń regularnychRegular Expression Options

Można określić opcje sterujące sposobem, w jaki aparat wyrażeń regularnych interpretuje wzorzec wyrażenia regularnego.You can specify options that control how the regular expression engine interprets a regular expression pattern. Wiele z tych opcji można określić jako wbudowane (we wzorcu wyrażenia regularnego) lub jako jedną lub więcej RegexOptions stałe.Many of these options can be specified either inline (in the regular expression pattern) or as one or more RegexOptions constants. W tym krótkim opisie wymieniono tylko opcje określane w tekście.This quick reference lists only inline options. Aby uzyskać więcej informacji dotyczących wbudowania i RegexOptions opcji, zapoznaj się z artykułem Opcje wyrażeń regularnych.For more information about inline and RegexOptions options, see the article Regular Expression Options.

Opcję określaną w tekście można określić na dwa sposoby:You can specify an inline option in two ways:

  • Za pomocą innej konstrukcji (?imnsx-imnsx), w której znak minus (-) przed opcją lub zestawem opcji powoduje wyłączenie tych opcji.By using the miscellaneous construct (?imnsx-imnsx), where a minus sign (-) before an option or set of options turns those options off. Na przykład (?i-mn) włącza dopasowanie bez uwzględniania wielkości liter (i), wyłącza tryb wielowierszowy (m) i wyłącza nienazwane przechwycenia grup (n) wyłączone.For example, (?i-mn) turns case-insensitive matching (i) on, turns multiline mode (m) off, and turns unnamed group captures (n) off. Ta opcja jest stosowana do wzorca wyrażenia regularnego od czasu zdefiniowania opcji i działa do końca wzorca lub punktu, w którym inna konstrukcja odwróci działanie opcji.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.

  • Za pomocą konstrukcja grupująca(?imnsx-imnsx:Podwyrażenie), która definiuje opcje dla określonej grupy.By using the grouping construct(?imnsx-imnsx:subexpression), which defines options for the specified group only.

Aparat wyrażeń regularnych .NET obsługuje następujące opcje wbudowane.The .NET regular expression engine supports the following inline options.

OpcjaOption OpisDescription WzorzecPattern DopasowaniaMatches
i Używa dopasowywania bez uwzględniania wielkości liter.Use case-insensitive matching. \b(?i)a(?-i)a\w+\b "aardvark", "aaaAuto" w "aardvark AAAuto aaaAuto Adam breakfast""aardvark", "aaaAuto" in "aardvark AAAuto aaaAuto Adam breakfast"
m Używa trybu wielowierszowego.Use multiline mode. ^ i $ pasuje do początku i końcu wiersza, zamiast początku i końca ciągu.^ and $ match the beginning and end of a line, instead of the beginning and end of a string. Aby uzyskać przykład, zobacz sekcję "Tryb wielowierszowy" w Opcje wyrażeń regularnych.For an example, see the "Multiline Mode" section in Regular Expression Options.
n Nie przechwytuje nienazwanych grup.Do not capture unnamed groups. Aby uzyskać przykład, zobacz sekcję "Tylko jawne Przechwytywanie" w Opcje wyrażeń regularnych.For an example, see the "Explicit Captures Only" section in Regular Expression Options.
s Używa trybu jednowierszowego.Use single-line mode. Aby uzyskać przykład, zobacz sekcję "Tryb jednowierszowy" w Opcje wyrażeń regularnych.For an example, see the "Single-line Mode" section in Regular Expression Options.
x Ignoruje niepoprzedzony znakiem ucieczki znak odstępu we wzorcu wyrażenia regularnego.Ignore unescaped white space in the regular expression pattern. \b(?x) \d+ \s \w+ "1 aardvark", "2 cats" w "1 aardvark 2 cats IV centurions""1 aardvark", "2 cats" in "1 aardvark 2 cats IV centurions"

Powrót do początkuBack to top

Różne konstruktoryMiscellaneous Constructs

Konstrukcje inne służą do modyfikowania wzorca wyrażenia regularnego lub dostarczania informacji na jego temat.Miscellaneous constructs either modify a regular expression pattern or provide information about it. W poniższej tabeli wymieniono różne konstrukcje obsługiwane przez .NET.The following table lists the miscellaneous constructs supported by .NET. Aby uzyskać więcej informacji, zobacz różne konstrukcje.For more information, see Miscellaneous Constructs.

KonstrukcjaConstruct DefinicjaDefinition PrzykładExample
(?imnsx-imnsx) Ustawia lub wyłącza opcje, takie jak ignorowanie wielkości liter w środku wzorca. Aby uzyskać więcej informacji, zobacz Opcje wyrażeń regularnych.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 Dopasowuje "ABA", "Able" w "ABA Able Act"\bA(?i)b\w+\b matches "ABA", "Able" in "ABA Able Act"
(?# Komentarz )(?# comment ) Komentarz w tekście.Inline comment. Komentarz kończy się przy pierwszym nawiasie zamykającym.The comment ends at the first closing parenthesis. \bA(?#Matches words starting with A)\w+\b
# [do końca wiersza]# [to end of line] Komentarz trybu X.X-mode comment. Komentarz rozpoczyna się od niekodowanego # i kontynuuje do końca wiersza.The comment starts at an unescaped # and continues to the end of the line. (?x)\bA\w+\b#Matches words starting with A

Zobacz takżeSee also