Sprachelemente für reguläre Ausdrücke – KurzübersichtRegular Expression Language - Quick Reference

Reguläre Ausdrücke sind Muster, für die das Modul für reguläre Ausdrücke eine Entsprechung im Eingabetext sucht.A regular expression is a pattern that the regular expression engine attempts to match in input text. Muster können aus einem oder mehr Zeichenliteralen, Operatoren oder Konstrukten bestehen.A pattern consists of one or more character literals, operators, or constructs. Eine kurze Einführung finden Sie unter Reguläre Ausdrücke von .NET.For a brief introduction, see .NET Regular Expressions.

Jeder Abschnitt dieser Kurzübersicht enthält eine bestimmte Kategorie von Zeichen, Operatoren oder Konstrukten, mit denen Sie reguläre Ausdrücke definieren können:Each section in this quick reference lists a particular category of characters, operators, and constructs that you can use to define regular expressions:

EscapezeichenCharacter escapes
ZeichenklassenCharacter classes
AnchorAnchors
GruppierungskonstrukteGrouping constructs
QuantifiziererQuantifiers
RückverweiskonstrukteBackreference constructs
AlternierungskonstrukteAlternation constructs
ErsetzungenSubstitutions
Optionen für reguläre AusdrückeRegular expression options
Verschiedene KonstrukteMiscellaneous constructs

Diese Informationen stehen in zwei weiteren Formaten zur Verfügung, damit Sie sie zum Nachschlagen herunterladen und ausdrucken können:We’ve also provided this information in two formats that you can download and print for easy reference:

Download im Word-Format (DOCX)Download in Word (.docx) format
Download im PDF-Format (PDF)Download in PDF (.pdf) format

EscapezeichenCharacter Escapes

Der umgekehrte Schrägstrich (\) in einem regulären Ausdruck gibt an, dass es sich bei dem darauf folgenden Zeichen um ein Sonderzeichen handelt (wie in der folgenden Tabelle gezeigt) oder dass das Zeichen als solches interpretiert werden soll.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. Weitere Informationen finden Sie unter Escapezeichen.For more information, see Character Escapes.

EscapezeichenEscaped character Beschreibung Description MusterPattern ÜbereinstimmungenMatches
\a Entspricht einem Klingelzeichen (Warnsignal) \u0007.Matches a bell character, \u0007. \a "\u0007" in "Fehler!""\u0007" in "Error!" + '\u0007'+ '\u0007'
\b Entspricht in einer Zeichenklasse einem Rücktastenzeichen \u0008.In a character class, matches a backspace, \u0008. [\b]{3,} "\b\b\b\b" in "\b\b\b\b""\b\b\b\b" in "\b\b\b\b"
\t Entspricht einem Tabstoppzeichen \u0009.Matches a tab, \u0009. (\w+)\t "Element1\t", "Element2\t" in "Element1\tElement2\t""item1\t", "item2\t" in "item1\titem2\t"
\r Entspricht einem Wagenrücklaufzeichen \u000D.Matches a carriage return, \u000D. (\r entspricht nicht dem Zeilenumbruchzeichen \n.)(\r is not equivalent to the newline character, \n.) \r\n(\w+) "\r\nDies" in "\r\nDies sind\nzwei Zeilen.""\r\nThese" in "\r\nThese are\ntwo lines."
\v Entspricht einem vertikalen Tabstoppzeichen \u000B.Matches a vertical tab, \u000B. [\v]{2,} "\v\v\v" in "\v\v\v""\v\v\v" in "\v\v\v"
\f Entspricht einem Seitenvorschubzeichen \u000C.Matches a form feed, \u000C. [\f]{2,} "\f\f\f" in "\f\f\f""\f\f\f" in "\f\f\f"
\n Entspricht einer neuen Zeile \u000A.Matches a new line, \u000A. \r\n(\w+) "\r\nDies" in "\r\nDies sind\nzwei Zeilen.""\r\nThese" in "\r\nThese are\ntwo lines."
\e Entspricht einem Escapezeichen \u001B.Matches an escape, \u001B. \e "\x001B" in "\x001B""\x001B" in "\x001B"
\ nnn\ nnn Verwendet die oktale Darstellung, um ein Zeichen anzugeben (nnn besteht aus zwei oder drei Ziffern).Uses octal representation to specify a character (nnn consists of two or three digits). \w\040\w "a b", "c d" in"a b", "c d" in

"a bc d""a bc d"
\x nn\x nn Verwendet die hexadezimale Darstellung, um ein Zeichen anzugeben (nn besteht genau aus zwei Ziffern).Uses hexadecimal representation to specify a character (nn consists of exactly two digits). \w\x20\w "a b", "c d" in"a b", "c d" in

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

\c x\c x
Entspricht dem durch X oder xangegebenen ASCII-Steuerzeichen, wobei X oder x der Buchstabe des Steuerzeichens ist.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" in "\x0003" (Strg-C)"\x0003" in "\x0003" (Ctrl-C)
\u nnnn\u nnnn Entspricht einem Unicode-Zeichen in hexadezimaler Darstellung (genau vier Stellen, dargestellt durch nnnn).Matches a Unicode character by using hexadecimal representation (exactly four digits, as represented by nnnn). \w\u0020\w "a b", "c d" in"a b", "c d" in

"a bc d""a bc d"
\ Entspricht dem angegebenen Zeichen, wenn darauf ein Zeichen folgt, das in dieser und anderen Tabellen in diesem Thema nicht als Escapezeichen erkannt wird.When followed by a character that is not recognized as an escaped character in this and other tables in this topic, matches that character. Beispielsweise ist \* identisch mit \x2Aund \. entspricht \x2E.For example, \* is the same as \x2A, and \. is the same as \x2E. Hierdurch kann die Engine für reguläre Ausdrücke Sprachelemente (z.B. * oder ?) und Zeichenliterale (dargestellt durch \* oder \?) unterscheiden.This allows the regular expression engine to disambiguate language elements (such as * or ?) and character literals (represented by \* or \?). \d+[\+-x\*]\d+ „2+2“ und „3*9“ in „(2+2) * 3*9“"2+2" and "3*9" in "(2+2) * 3*9"

Zurück zum AnfangBack to top

ZeichenklassenCharacter Classes

Eine Zeichenklasse entspricht einer beliebigen Reihe von Zeichen.A character class matches any one of a set of characters. Zeichenklassen verwenden die in der folgenden Tabelle aufgeführten Sprachelemente.Character classes include the language elements listed in the following table. Weitere Informationen finden Sie unter Zeichenklassen in regulären Ausdrücken.For more information, see Character Classes.

ZeichenklasseCharacter class Beschreibung Description MusterPattern ÜbereinstimmungenMatches
[ character_group ][ character_group ] Entspricht einem beliebigen einzelnen Zeichen in character_group.Matches any single character in character_group. Bei der Entsprechung wird standardmäßig die Groß- und Kleinschreibung berücksichtigt.By default, the match is case-sensitive. [ae] "a" in "wage""a" in "gray"

"a", "e" in "klasse""a", "e" in "lane"
[^ character_group ][^ character_group ] Negation: Entspricht jedem beliebigen einzelnen Zeichen, das nicht in character_group enthalten ist.Negation: Matches any single character that is not in character_group. Standardmäßig wird bei Zeichen in character_group die Groß-/Kleinschreibung beachtet.By default, characters in character_group are case-sensitive. [^aei] "r", "g", "n" in "ringen""r", "g", "n" in "reign"
[ first - last ][ first - last ] Zeichenbereich: Entspricht jedem beliebigen einzelnen Zeichen im Bereich von first bis last.Character range: Matches any single character in the range from first to last. [A-Z] "A", "B" in "AB123""A", "B" in "AB123"
. Platzhalterzeichen: Entspricht jedem beliebigen einzelnen Zeichen außer \n.Wildcard: Matches any single character except \n.

Damit es einem Punkt als Literalzeichen entspricht ("." oderTo match a literal period character (. oder \u002E, muss ihm ein Escapezeichen (\.) vorangestellt werden.or \u002E), you must precede it with the escape character (\.).
a.e "ade" in "gerade""ave" in "nave"

"ase" in "klasse""ate" in "water"
\p{ Name }\p{ name } Entspricht jedem beliebigen Zeichen, das sich in der allgemeinen Unicode-Kategorie oder einem von nameangegebenen benannten Block befindet.Matches any single character in the Unicode general category or named block specified by name. \p{Lu}

\p{IsCyrillic}
"S", "M" in "Staatliche Museen""C", "L" in "City Lights"

"Д", "Ж" in "ДЖem""Д", "Ж" in "ДЖem"
\P{ Name }\P{ name } Entspricht jedem beliebigen Zeichen, das sich nicht in der allgemeinen Unicode-Kategorie oder einem von nameangegebenen benannten Block befindet.Matches any single character that is not in the Unicode general category or named block specified by name. \P{Lu}

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

"e", "m" in "ДЖem""e", "m" in "ДЖem"
\w Entspricht einem beliebigen Wortzeichen.Matches any word character. \w "I", "D", "A", "1", "3" in "ID A1.3""I", "D", "A", "1", "3" in "ID A1.3"
\W Entspricht einem beliebigen Nichtwortzeichen.Matches any non-word character. \W " ", "." in "ID A1.3"" ", "." in "ID A1.3"
\s Entspricht einem beliebigen Leerraumzeichen.Matches any white-space character. \w\s "D " in "ID A1.3""D " in "ID A1.3"
\S Entspricht einem beliebigen Nicht-Leerraumzeichen.Matches any non-white-space character. \s\S " _" in "int __ctr"" _" in "int __ctr"
\d Entspricht einer beliebigen Dezimalziffer.Matches any decimal digit. \d "4" in "4 = IV""4" in "4 = IV"
\D Entspricht einem beliebigen Zeichen, das keine Dezimalziffer ist.Matches any character other than a decimal digit. \D " ", "=", " ", "I", "V" in "4 = IV"" ", "=", " ", "I", "V" in "4 = IV"

Zurück zum AnfangBack to top

AnchorAnchors

Anchor oder atomare Assertionen mit einer Breite von Null bewirken, dass, in Abhängigkeit von der Position in der Zeichenfolge, eine Entsprechung gefunden oder nicht gefunden wird. Sie bewirken jedoch nicht, dass die Engine die Zeichenfolge durchläuft oder Zeichen verwendet.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. Die Metazeichen in der folgenden Tabelle sind Anchor.The metacharacters listed in the following table are anchors. Weitere Informationen finden Sie unter Anchor.For more information, see Anchors.

AssertionAssertion Beschreibung Description MusterPattern ÜbereinstimmungenMatches
^ Die Übereinstimmung muss standardmäßig zu Anfang der Zeichenfolge beginnen. Im Mehrzeilenmodus muss sie am Anfang der Zeile beginnen.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" in"901" in

"901-333-""901-333-"
$ Die Übereinstimmung muss standardmäßig am Ende der Zeichenfolge oder vor \n am Ende der Zeichenfolge stattfinden. Im Mehrzeilenmodus muss sie am Ende der Zeile oder vor \n am Ende der Zeile erfolgen.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" in"-333" in

"-901-333""-901-333"
\A Der Vergleich muss am Beginn der Zeichenfolge erfolgen.The match must occur at the start of the string. \A\d{3} "901" in"901" in

"901-333-""901-333-"
\Z Der Vergleich muss am Ende der Zeichenfolge oder vor \n am Ende der Zeichenfolge erfolgen.The match must occur at the end of the string or before \n at the end of the string. -\d{3}\Z "-333" in"-333" in

"-901-333""-901-333"
\z Der Vergleich muss am Ende der Zeichenfolge erfolgen.The match must occur at the end of the string. -\d{3}\z "-333" in"-333" in

"-901-333""-901-333"
\G Der Vergleich muss an dem Punkt erfolgen, an dem der vorherige Vergleich beendet wurde.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 Der Vergleich muss an einer Begrenzung zwischen einem \w (alphanumerischen) und einem \W (nicht alphanumerischen) Zeichen erfolgen.The match must occur on a boundary between a \w (alphanumeric) and a \W (nonalphanumeric) character. \b\w+\s\w+\b "dem demnach", "dem dem" in "dem demnach dem dem""them theme", "them them" in "them theme them them"
\B Der Vergleich darf nicht an einer \b -Begrenzung erfolgen.The match must not occur on a \b boundary. \Bend\w*\b "ends", "ender" in "end sendet endete sender""ends", "ender" in "end sends endure lender"

Zurück zum AnfangBack to top

GruppierungskonstrukteGrouping Constructs

Gruppierungskonstrukte grenzen Teilausdrücke eines regulären Ausdrucks ab und zeichnen gewöhnlich Teilzeichenfolgen einer Eingabezeichenfolge auf.Grouping constructs delineate subexpressions of a regular expression and typically capture substrings of an input string. Gruppierungskonstrukte verwenden die Sprachelemente in der folgenden Tabelle.Grouping constructs include the language elements listed in the following table. Weitere Informationen finden Sie unter Gruppierungskonstrukte in regulären Ausdrücken.For more information, see Grouping Constructs.

GruppierungskonstruktGrouping construct Beschreibung Description MusterPattern ÜbereinstimmungenMatches
( Teilausdruck )( subexpression ) Zeichnet den übereinstimmenden Teilausdruck auf und weist diesem eine einsbasierte Ordinalzahl zu.Captures the matched subexpression and assigns it a one-based ordinal number. (\w)\1 "aa" in "paarweise""ee" in "deep"
(?< Name > Teilausdruck )(?< name > subexpression ) Zeichnet den übereinstimmenden Teilausdruck in einer benannten Gruppe auf.Captures the matched subexpression into a named group. (?<double>\w)\k<double> "aa" in "paarweise""ee" in "deep"
(?< name1 - name2 > Teilausdruck )(?< name1 - name2 > subexpression ) Definiert eine Ausgleichsgruppendefinition.Defines a balancing group definition. Weitere Informationen finden Sie im Abschnitt „Ausgleichen von Gruppendefinitionen“ in Gruppierungskonstrukte in regulären Ausdrücken.For more information, see the "Balancing Group Definition" section in Grouping Constructs. (((?'Open'\()[^\(\)]*)+((?'Close-Open'\))[^\(\)]*)+)*(?(Open)(?!))$ "((1-3)*(3-1))" in "3+2^((1-3)*(3-1))""((1-3)*(3-1))" in "3+2^((1-3)*(3-1))"
(?: Teilausdruck )(?: subexpression ) Definiert eine Nicht-Erfassungsgruppe.Defines a noncapturing group. Write(?:Line)? "WriteLine" in "Console.WriteLine()""WriteLine" in "Console.WriteLine()"

"Write" in "Console.Write(value)""Write" in "Console.Write(value)"
(?imnsx-imnsx: Teilausdruck )(?imnsx-imnsx: subexpression ) Aktiviert oder deaktiviert die angegebenen Optionen in subexpression.Applies or disables the specified options within subexpression. Weitere Informationen finden Sie unter Optionen für reguläre Ausdrücke.For more information, see Regular Expression Options. A\d{2}(?i:\w+)\b "A12xl", "A12XL" in "A12xl A12XL a12xl""A12xl", "A12XL" in "A12xl A12XL a12xl"
(?= Teilausdruck )(?= subexpression ) Positive Lookaheadassertion mit einer Breite von Null.Zero-width positive lookahead assertion. \w+(?=\.) "is", "ren" und "weg" in "Er isst."is", "ran", and "out" in "He is. Der Hund rennt.The dog ran. Die Sonne ist weg."The sun is out."
(?! Teilausdruck )(?! subexpression ) Negative Lookaheadassertion mit einer Breite von Null.Zero-width negative lookahead assertion. \b(?!un)\w+\b "sicher", "mischt" in "unsicher sicher unter mischt""sure", "used" in "unsure sure unity used"
(?<= Teilausdruck )(?<= subexpression ) Positive Lookbehindassertion mit einer Breite von Null.Zero-width positive lookbehind assertion. (?<=19)\d{2}\b "99", "50", "05" in "1851 1999 1950 1905 2003""99", "50", "05" in "1851 1999 1950 1905 2003"
(?<! Teilausdruck )(?<! subexpression ) Negative Lookbehindassertion mit einer Breite von Null.Zero-width negative lookbehind assertion. (?<!19)\d{2}\b "51", "03" in "1851 1999 1950 1905 2003""51", "03" in "1851 1999 1950 1905 2003"
(?> Teilausdruck )(?> subexpression ) Nicht zurückverfolgender ("gieriger") Teilausdruck.Nonbacktracking (or "greedy") subexpression. [13579](?>A+B+) "1ABB", "3ABB", and "5AB" in "1ABB 3ABBC 5AB 5AC""1ABB", "3ABB", and "5AB" in "1ABB 3ABBC 5AB 5AC"

Zurück zum AnfangBack to top

QuantifiziererQuantifiers

Quantifizierer geben an, wie viele Instanzen des vorherigen Elements (bei dem es sich um ein Zeichen, eine Gruppe oder eine Zeichenklasse handeln kann) in der Eingabezeichenfolge vorhanden sein müssen, damit eine Entsprechung gefunden wird.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. Quantifizierer verwenden die Sprachelemente in der folgenden Tabelle.Quantifiers include the language elements listed in the following table. Weitere Informationen finden Sie unter Quantifizierer in regulären Ausdrücken.For more information, see Quantifiers.

QuantifiziererQuantifier Beschreibung Description MusterPattern ÜbereinstimmungenMatches
* Entspricht dem vorangehenden Element nicht oder mehrmals.Matches the previous element zero or more times. \d*\.\d ".0", "19.9", "219.9"".0", "19.9", "219.9"
+ Entspricht dem vorangehenden Element einmal oder mehrmals.Matches the previous element one or more times. "be+" "bei" in beim"", "be" in "bei""bee" in "been", "be" in "bent"
? Entspricht dem vorangehenden Element nicht oder einmal.Matches the previous element zero or one time. "rai?n" "ran", "rain""ran", "rain"
{ n }{ n } Entspricht dem vorangehenden Element genau n -mal.Matches the previous element exactly n times. ",\d{3}" ",043" in "1,043.6", ",876", ",543" und ",210" in "9,876,543,210"",043" in "1,043.6", ",876", ",543", and ",210" in "9,876,543,210"
{ n ,}{ n ,} Entspricht dem vorangehenden Element mindestens n -mal.Matches the previous element at least n times. "\d{2,}" "166", "29", "1930""166", "29", "1930"
{ n , m }{ n , m } Entspricht dem vorangehenden Element mindestens n -, höchstens jedoch m -mal.Matches the previous element at least n times, but no more than m times. "\d{3,5}" "166", "17668""166", "17668"

"19302" in "193024""19302" in "193024"
*? Entspricht dem vorangehenden Element nicht oder mehrmals, jedoch so wenige Male wie möglich.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"
+? Entspricht dem vorangehenden Element ein- oder mehrmals, jedoch so wenige Male wie möglich.Matches the previous element one or more times, but as few times as possible. "be+?" "be" in "beim", "be" in "bei""be" in "been", "be" in "bent"
?? Entspricht dem vorangehenden Element nicht oder einmal, jedoch so wenige Male wie möglich.Matches the previous element zero or one time, but as few times as possible. "rai??n" "ran", "rain""ran", "rain"
{ n }?{ n }? Entspricht dem vorangehenden Element genau n -mal.Matches the preceding element exactly n times. ",\d{3}?" ",043" in "1,043.6", ",876", ",543" und ",210" in "9,876,543,210"",043" in "1,043.6", ",876", ",543", and ",210" in "9,876,543,210"
{ n ,}?{ n ,}? Entspricht dem vorangehenden Element mindestens n -mal, jedoch so wenige Male wie möglich.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 }? Entspricht dem vorangehenden Element zwischen n - und m -mal, jedoch so wenige Male wie möglich.Matches the previous element between n and m times, but as few times as possible. "\d{3,5}?" "166", "17668""166", "17668"

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

Zurück zum AnfangBack to top

RückverweiskonstrukteBackreference Constructs

Ein Rückverweis ermöglicht es, einen zuvor gefundenen Teilausdruck später im gleichen regulären Ausdruck zu identifizieren.A backreference allows a previously matched subexpression to be identified subsequently in the same regular expression. In der folgenden Tabelle sind die Rückverweiskonstrukte aufgeführt, die von regulären .NET-Ausdrücken unterstützt werden.The following table lists the backreference constructs supported by regular expressions in .NET. Weitere Informationen finden Sie unter Rückverweiskonstrukte in regulären Ausdrücken.For more information, see Backreference Constructs.

RückverweiskonstruktBackreference construct Beschreibung Description MusterPattern ÜbereinstimmungenMatches
\ number\ number Rückverweis.Backreference. Entspricht dem Wert eines nummerierten Teilausdrucks.Matches the value of a numbered subexpression. (\w)\1 "ee" in "beseelt""ee" in "seek"
\k< Name >\k< name > Benannter Rückverweis.Named backreference. Entspricht dem Wert eines benannten Ausdrucks.Matches the value of a named expression. (?<char>\w)\k<char> "ee" in "beseelt""ee" in "seek"

Zurück zum AnfangBack to top

AlternierungskonstrukteAlternation Constructs

Alternierungskonstrukte ändern einen regulären Ausdruck, um entweder/oder-Vergleiche zuzulassen.Alternation constructs modify a regular expression to enable either/or matching. Diese Konstrukte verwenden die Sprachelemente in der folgenden Tabelle.These constructs include the language elements listed in the following table. Weitere Informationen finden Sie unter Alternierungskonstrukte in regulären Ausdrücken.For more information, see Alternation Constructs.

AlternierungskonstruktAlternation construct Beschreibung Description MusterPattern ÜbereinstimmungenMatches
| Entspricht jedem beliebigen durch einen senkrechten Strich (|) getrennten Element.Matches any one element separated by the vertical bar (|) character. th(e|is|at) "the", "this" in "This is the day."the", "this" in "this is the day. ""
(?( expression ) yes | no )(?( expression ) yes | no ) Entspricht yes , wenn das von expression angegebene Muster für reguläre Ausdrücke übereinstimmt. Andernfalls entspricht es dem optionalen no .Matches yes if the regular expression pattern designated by expression matches; otherwise, matches the optional no part. expression wird als Assertion mit einer Breite von Null interpretiert.expression is interpreted as a zero-width assertion. (?(A)A\d{2}\b|\b\d{3}\b) "A10", "910" in "A10 C103 910""A10", "910" in "A10 C103 910"
(?( name ) yes | no )(?( name ) yes | no ) Entspricht yes , wenn name, eine benannte oder nummerierte Erfassungsgruppe, eine Übereinstimmung aufweist. Andernfalls entspricht es dem optionalen no.Matches yes if name, a named or numbered capturing group, has a match; otherwise, matches the optional no. (?<quoted>")?(?(quoted).+?"|\S+\s) Hund.jpg, "Yiska spielt.jpg" in "Hund.jpg "Yiska spielt.jpg""Dogs.jpg, "Yiska playing.jpg" in "Dogs.jpg "Yiska playing.jpg""

Zurück zum AnfangBack to top

ErsetzungenSubstitutions

Ersetzungen sind Sprachelemente regulärer Ausdrücke, die in Ersetzungsmustern unterstützt werden.Substitutions are regular expression language elements that are supported in replacement patterns. Weitere Informationen finden Sie unter Ersetzungen in regulären Ausdrücken.For more information, see Substitutions. Die Metazeichen in der folgenden Tabelle sind atomare Assertionen mit einer Breite von Null.The metacharacters listed in the following table are atomic zero-width assertions.

ZeichenCharacter Beschreibung Description MusterPattern ErsetzungsmusterReplacement pattern EingabezeichenfolgeInput string ErgebniszeichenfolgeResult string
$ number$ number Ersetzt die untergeordnete Zeichenfolge, die der numbereiner Gruppe entspricht.Substitutes the substring matched by group number. \b(\w+)(\s)(\w+)\b $3$2$1 "one two""one two" "two one""two one"
${ Name }${ name } Ersetzt die untergeordnete Zeichenfolge, die dem genannten nameder Gruppe entspricht.Substitutes the substring matched by the named group name. \b(?<word1>\w+)(\s)(?<word2>\w+)\b ${word2} ${word1} "one two""one two" "two one""two one"
$$ Ersetzt ein "$"-Literal.Substitutes a literal "$". \b(\d+)\s?USD $$$1 "103 USD""103 USD" "$103""$103"
$& Ersetzt eine Kopie der gesamten Entsprechung.Substitutes a copy of the whole match. \$?\d*\.?\d+ **$&** "$1.30""$1.30" "**$1.30**""**$1.30**"
$` Ersetzt den gesamten Text der Eingabezeichenfolge vor der Entsprechung.Substitutes all the text of the input string before the match. B+ $` "AABBCC""AABBCC" "AAAACC""AAAACC"
$' Ersetzt den gesamten Text der Eingabezeichenfolge nach der Entsprechung.Substitutes all the text of the input string after the match. B+ $' "AABBCC""AABBCC" "AACCCC""AACCCC"
$+ Ersetzt die zuletzt erfasste Gruppe.Substitutes the last group that was captured. B+(C+) $+ "AABBCCDD""AABBCCDD" "AACCDD""AACCDD"
$_ Ersetzt die gesamte Eingabezeichenfolge.Substitutes the entire input string. B+ $_ "AABBCC""AABBCC" "AAAABBCCCC""AAAABBCCCC"

Zurück zum AnfangBack to top

Optionen für reguläre AusdrückeRegular Expression Options

Sie können Optionen angeben, die steuern, wie die Engine für reguläre Ausdrücke ein Muster des regulären Ausdrucks interpretiert.You can specify options that control how the regular expression engine interprets a regular expression pattern. Viele dieser Optionen können entweder inline (im Muster des regulären Ausdrucks) oder als eine oder mehrere RegexOptions -Konstanten angegeben werden.Many of these options can be specified either inline (in the regular expression pattern) or as one or more RegexOptions constants. Diese Kurzübersicht enthält nur Inlineoptionen.This quick reference lists only inline options. Weitere Informationen zu Inlineoptionen und RegexOptions -Optionen finden Sie im Artikel Optionen für reguläre Ausdrücke.For more information about inline and RegexOptions options, see the article Regular Expression Options.

Sie können eine Inlineoption auf zwei Arten angeben:You can specify an inline option in two ways:

  • Mit dem Konstrukt (?imnsx-imnsx), wobei ein vor einer Option oder Optionsgruppe stehendes Minuszeichen (-) die betreffenden Optionen deaktiviert.By using the miscellaneous construct (?imnsx-imnsx), where a minus sign (-) before an option or set of options turns those options off. Zum Beispiel aktiviert (?i-mn) Übereinstimmungen ohne Berücksichtigung der Groß-/Kleinschreibung (i), deaktiviert Mehrzeilenmodus (m) und deaktiviert unbenannte Gruppenerfassungen (n).For example, (?i-mn) turns case-insensitive matching (i) on, turns multiline mode (m) off, and turns unnamed group captures (n) off. Die Option gilt für das Muster des regulären Ausdrucks ab dem Punkt, an dem die Option definiert ist, und ist entweder bis zum Ende des Musters oder bis zu dem Punkt gültig, an dem ein anderes Konstrukt die Option umkehrt.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.

  • Mit Gruppierungskonstrukte in regulären Ausdrücken(?imnsx-imnsx:Teilausdruck), das die Optionen nur für die angegebene Gruppe definiert.By using the grouping construct(?imnsx-imnsx:subexpression), which defines options for the specified group only.

Die .NET-Engine für reguläre Ausdrücke unterstützt die folgenden Inlineoptionen.The .NET regular expression engine supports the following inline options.

OptionOption Beschreibung Description MusterPattern ÜbereinstimmungenMatches
i Groß-/Kleinschreibung bei der Suche ignorierenUse case-insensitive matching. \b(?i)a(?-i)a\w+\b "Aale" und "Aasblumen" in "Aale essen Aasblumen roh""aardvark", "aaaAuto" in "aardvark AAAuto aaaAuto Adam breakfast"
m Mehrzeilenmodus verwenden.Use multiline mode. ^ und $ entsprechen dem Anfang und Ende einer Zeile anstatt dem Anfang und Ende einer Zeichenfolge.^ and $ match the beginning and end of a line, instead of the beginning and end of a string. Ein Beispiel finden Sie im Abschnitt zum Mehrzeilenmodus in Optionen für reguläre Ausdrücke.For an example, see the "Multiline Mode" section in Regular Expression Options.
n Unbenannte Gruppen nicht erfassenDo not capture unnamed groups. Ein Beispiel finden Sie im Abschnitt zu ausschließlich expliziten Erfassungen in Optionen für reguläre Ausdrücke.For an example, see the "Explicit Captures Only" section in Regular Expression Options.
s Einzeilenmodus verwendenUse single-line mode. Ein Beispiel finden Sie im Abschnitt zum Einzeilenmodus in Optionen für reguläre Ausdrücke.For an example, see the "Single-line Mode" section in Regular Expression Options.
x Leerraum ohne Escapezeichen im Muster eines regulären Ausdrucks ignorierenIgnore unescaped white space in the regular expression pattern. \b(?x) \d+ \s \w+ "1 Erdferkel", "2 Katzen" in "1 Erdferkel 2 Katzen IV Zenturionen""1 aardvark", "2 cats" in "1 aardvark 2 cats IV centurions"

Zurück zum AnfangBack to top

Verschiedene KonstrukteMiscellaneous Constructs

Verschiedene Konstrukte ändern Muster von regulären Ausdrücken oder stellen Informationen darüber bereit.Miscellaneous constructs either modify a regular expression pattern or provide information about it. In der folgenden Tabelle sind die verschiedenen Konstrukte aufgeführt, die von .NET unterstützt werden.The following table lists the miscellaneous constructs supported by .NET. Weitere Informationen finden Sie unter Miscellaneous Constructs.For more information, see Miscellaneous Constructs.

KonstruktConstruct DefinitionDefinition BeispielExample
(?imnsx-imnsx) Aktiviert oder deaktiviert Optionen wie die Groß-/Kleinschreibung mitten in einem Muster. Weitere Informationen finden Sie unter Optionen für reguläre Ausdrücke.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 entspricht "ABA", "Able" in "ABA Able Act"\bA(?i)b\w+\b matches "ABA", "Able" in "ABA Able Act"
(?# comment )(?# comment ) Inlinekommentar.Inline comment. Der Kommentar endet bei der ersten schließenden Klammer.The comment ends at the first closing parenthesis. \bA(?#Matches words starting with A)\w+\b
# [bis Zeilenende]# [to end of line] X‑Modus-Kommentar.X-mode comment. Der Kommentar beginnt bei einem # ohne Escapezeichen und reicht bis zum Ende der Zeile.The comment starts at an unescaped # and continues to the end of the line. (?x)\bA\w+\b#Matches words starting with A

Siehe auchSee also