Reguläre Ausdrücke (Visual Studio)
Reguläre Ausdrücke sind eine präzise und flexible Notation zum Suchen und Ersetzen von Textmustern. Sie können einen bestimmten Satz von regulären Ausdrücken in den Feldern Suchen nach und Ersetzen durch im Fenster "Suchen und Ersetzen" verwenden, wenn Sie Vorgänge wie Schnellsuche, In Dateien suchen, Schnellersetzung oder In Dateien ersetzen ausführen.
Damit reguläre Ausdrücke aktiviert werden, erweitern Sie im Fenster Suchen und ersetzen die Option Suchoptionen, und wählen Sie anschließend Verwenden und dann Reguläre Ausdrücke aus. Anschließend ist die dreieckige Schaltfläche Ausdrucks-Generator neben den Feldern Suchen nach und Ersetzen durch verfügbar. Klicken Sie auf die Schaltfläche, um eine Liste häufig verwendeter regulärer Ausdrücke anzuzeigen. Wenn Sie in der Liste auf einen regulären Ausdruck klicken, wird er an der Cursorposition in den Feldern Suchen nach oder Ersetzen durch eingefügt. Wenn Sie unten im Ausdrucks-Generator auf Vollständige Zeichenliste klicken, wird ein Hilfethema angezeigt. Das Thema enthält alle regulären Ausdrücke, die von Suchen und Ersetzen in Visual Studio erkannt werden. Sie können einen regulären Ausdruck im Thema kopieren und dann in die Felder Suchen nach oder Ersetzen durch einfügen.
Tipp
Die Syntax für reguläre Ausdrücke, die für Suchen nach und Ersetzen durch verwendet werden können, unterscheidet sich deutlich von der Syntax, die in der Programmierung mit .NET Framework gültig ist. Beispielsweise werden im Fenster Suchen und Ersetzen geschweifte Klammern {} zum Markieren zu ersetzender Ausdrücke verwendet: um jedes Vorkommen von "doesn't" in "does not" zu ändern, verwenden Sie den Suchausdruck "{does}n't" und den Ersetzungsausdruck "\1 not".
Reguläre Ausdrucke für Suchen und Ersetzen
Nachfolgend finden Sie die im Ausdrucks-Generator häufig verwendeten regulären Ausdrücke.
Ausdruck |
Syntax |
Beschreibungen |
Beispiel |
---|---|---|---|
Beliebiges Zeichen |
. |
Entspricht einem beliebigen Zeichen mit Ausnahme des Zeilenumbruchs. |
a.o findet "aro" in "around" und "abo" in "about", jedoch nicht "acro" in "across". |
0 (null) oder mehr |
* |
Findet 0 (null) oder mehr Vorkommen des vorangehenden Ausdrucks und ergibt somit alle möglichen Übereinstimmungen. |
a*b findet "b" in "bat" und "ab" in "about". e.*e findet das Wort "enterprise". |
Eine oder mehr |
+ |
Findet mindestens ein Vorkommen des vorhergehenden Ausdrucks. |
ac+ findet Wörter mit dem Buchstaben "a" und mindestens einer Instanz von "c", z. B. "race" und "ace". a.+s findet das Wort "access". |
Zeilenanfang |
^ |
Verankert die übereinstimmende Zeichenfolge am Anfang einer Zeile. |
^car findet das Wort "car" nur, wenn es als erster Satz von Zeichen in einer Zeile des Editors vorkommt. |
Zeilenende |
$ |
Verankert die übereinstimmende Zeichenfolge am Ende einer Zeile. |
end$ findet das Wort "end" nur, wenn es als letztmöglicher Satz von Zeichen am Ende einer Zeile des Editors vorkommt. |
Wortanfang |
< |
Findet nur dann eine Übereinstimmung, wenn das Wort an dieser Textstelle beginnt. |
<in findet Wörter wie "inside" und "into", die mit den Buchstaben "in" anfangen. |
Wortende |
> |
Gibt eine Übereinstimmung nur zurück, wenn das Wort an dieser Textstelle endet. |
ss> findet Wörter wie "across" und "loss", die mit den Buchstaben "ss" enden. |
Zeilenumbruch |
\n |
Findet einen vom Betriebssystem unabhängigen Zeilenumbruch. Fügt in einem "Ersetzen"-Ausdruck einen Zeilenumbruch ein. |
End\nBegin findet die Wörter "End" und "Begin" nur, wenn "End" als letzte Zeichenfolge in einer Zeile und "Begin" als erste Zeichenfolge in der nächsten Zeile vorkommt. In einem Ersetzen-Ausdruck wird durch Begin\nEnd das Wort "End" durch "Begin" in der ersten Zeile ersetzt, ein Zeilenumbruch eingefügt und dann das Wort "Begin" durch das Wort "End" ersetzt. |
Ein beliebiges Zeichen in der Menge |
[] |
Findet eines der Zeichen, die in [] enthalten sind. Geben Sie zum Festlegen eines Bereichs von Zeichen das Start- und das Endzeichen durch einen Bindestrich (-) getrennt ein, wie in [a-z]. |
be[n-t] findet "bet" in "between", "ben" in "beneath" und "bes" in "beside", jedoch nicht "bel" in "below". |
Ein beliebiges, nicht in der Menge enthaltenes Zeichen |
[^...] |
Findet ein beliebiges Zeichen, das nicht im Satz von Zeichen nach ^ enthalten ist. |
be[^n-t] findet "bef" in "before", "beh" in "behind" und "bel" in "below", jedoch nicht "ben" in "beneath". |
Oder |
| |
Findet entweder den Ausdruck vor oder nach dem Symbol OR (|). Wird meistens in einer Gruppe verwendet. |
(sponge|mud) bath findet "sponge bath" und "mud bath". |
Escape |
\ |
Entspricht dem Zeichen, das dem umgekehrten Schrägstrich (\) als Literal folgt. Damit können Sie Zeichen wie { und ^ suchen, die in der Notation für reguläre Ausdrücke verwendet werden. |
\^ sucht nach dem Zeichen ^. |
Markierter Ausdruck (oder Rückverweis) |
{} |
Verwendet den Text in geschweiften Klammern, um Positionen zu identifizieren, in denen Text ersetzt werden soll. |
{does}n't identifiziert den der Ersetzung in der Ersetzungszeichenfolge \1 not vorangestellten Text, um jedes Vorkommen von "doesn't" in "does not" zu ändern. |
C-/C++-Bezeichner |
:i |
Kurznotation für den Ausdruck ([a-zA-Z_$][a-zA-Z0-9_$]*). |
Findet jeden möglichen C/C++-Bezeichner. |
Zeichenfolge in Anführungszeichen |
:q |
Kurznotation für den Ausdruck (("[^"]*")|('[^']*')), der alle Zeichen findet, die durch doppelte oder einfache Anführungszeichen eingeschlossen sind, sowie die Anführungszeichen selbst. |
:q findet "test quote" und 'test quote', jedoch nicht das 't in can't. |
Leerzeichen oder TAB |
:b |
Entspricht entweder dem Leerzeichen oder dem Tabstoppzeichen. |
Public:bInterface findet den Begriff "Public Interface" in Text. |
Integer |
:z |
Kurznotation für den Ausdruck ([0-9] +), der jede Kombination von numerischen Zeichen findet. |
Findet jede ganze Zahl, z. B. "1", "234", "56" usw. |
Die Liste der für Vorgänge vom Typ Suchen und Ersetzen gültigen regulären Ausdrücke ist zu lang, um sie im Ausdrucks-Generator anzeigen zu können. Obwohl die folgenden regulären Ausdrücke nicht im Ausdrucks-Generator angezeigt werden, können sie in den Feldern Suchen nach oder Ersetzen durch verwendet werden.
Ausdruck |
Syntax |
Beschreibungen |
Beispiel |
---|---|---|---|
Minimal, 0 (null) oder mehr |
@ |
Findet 0 (null) oder mehr Vorkommen des vorhergehenden Ausdrucks, wobei die Übereinstimmung möglichst wenig Zeichen umfasst. |
e.@ findet "ente" und "erprise" in "enterprise", jedoch nicht das vollständige Wort "enterprise". |
Minimal, eine oder mehr |
# |
Findet ein oder mehrere Vorkommen des vorhergehenden Ausdrucks, wobei die Übereinstimmung möglichst wenig Zeichen umfasst. |
ac# findet Wörter mit dem Buchstaben "a" und mindestens einer Instanz von "c", z. B. "ace". a.#s findet "acces" im Wort "access". |
n Mal wiederholen. |
^n |
Entspricht n Instanzen des vorhergehenden Ausdrucks. |
[0-9]^4 findet alle Zeichenfolgen mit 4 Ziffern. |
Gruppierung |
() |
Ermöglicht es Ihnen, einen Satz von Ausdrücken zu gruppieren. Wenn Sie in einer Suche nach zwei verschiedenen Ausdrücken suchen möchten, können Sie diese mit dem Gruppierungsausdruck kombinieren. |
Wenn Sie nach - [a-z][1-3] oder - [0-9][a-z] suchen möchten, würden Sie diese Ausdrücke wie folgt kombinieren: (- [a-z][1-3])|(- [0-9][a-z]). |
n-ter markierter Text |
\n |
Gibt in einem Suchen- oder Ersetzen-Ausdruck den Text an, der mit dem n-ten markierten Text übereinstimmt. Hierbei ist n eine Zahl zwischen 1 und 9. In einem Ersetzen-Ausdruck wird mit \0 der gesamte übereinstimmende Text eingefügt. |
Wenn Sie nach a{[0-9]} suchen und durch \1 ersetzen, werden alle Vorkommen von "a", gefolgt von einer Ziffer, durch diese Ziffer ersetzt. Beispielsweise wird "a1" durch "1" und "a2" durch "2" ersetzt usw. |
Rechts ausgerichtetes Feld |
\(w,n) |
Richtet in einem Ersetzen-Ausdruck den n-ten markierten Ausdruck in einem mindestens w Zeichen breiten Feld rechts aus. |
Wenn Sie nach a{[0-9]} suchen und durch \(10,1) ersetzen, werden die Vorkommen von "an" durch die ganze Zahl ersetzt und um 10 Leerzeichen nach rechts ausgerichtet. |
Links ausgerichtetes Feld |
\(-w,n) |
Richtet in einem Ersetzen-Ausdruck den n-ten markierten Ausdruck in einem mindestens w Zeichen breiten Feld links aus. |
Wenn Sie nach a{[0-9]} suchen und durch \(-10,1) ersetzen, werden die Vorkommen von "an" durch die ganze Zahl ersetzt und um 10 Leerzeichen nach links ausgerichtet. |
Übereinstimmung ausschließen |
~(X) |
Schließt eine Übereinstimmung aus, wenn an dieser Stelle des Ausdrucks X steht. |
real~(ity) findet "real" in "realty" und "really," jedoch nicht "real" in "reality". |
Alphanumerisches Zeichen |
:a |
Entspricht dem Ausdruck ([a-zA-Z0-9]). |
Findet jedes alphanumerische Zeichen, z. B. "a", "A", "w", "W", "5" usw. |
Buchstabe |
:c |
Entspricht dem Ausdruck ([a-zA-Z]). |
Findet jedes alphabetische Zeichen, z. B. "a", "A", "w", "W" usw. |
Dezimalstelle |
:d |
Entspricht dem Ausdruck ([0-9]). |
Findet jede Ziffer, z. B. "4" und "6". |
Hexadezimale Ziffer |
:h |
Entspricht dem Ausdruck ([0-9a-fA-F]+). |
Findet jede Hexadezimalzahl, z. B. "1A", "ef" und "007". |
Rationale Zahl |
:n |
Entspricht dem Ausdruck (([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+)). |
Findet jede rationale Zahl, z. B. "2007", "1,0" und "0,9". |
Alphabetische Zeichenfolge |
:w |
Entspricht dem Ausdruck ([a-zA-Z]+). |
Findet jede Zeichenfolge, die nur alphabetische Zeichen enthält. |
Escape |
\e |
Unicode U+001B |
Findet das "Escape"-Steuerzeichen. |
Glocke |
\g |
Unicode U+0007 |
Findet das "Glocke"-Steuerzeichen. |
Rückschritt |
\h |
Unicode U+0008 |
Findet das "Rückschritt"-Steuerzeichen. |
Registerkarte |
\t |
Unicode U+0009 |
Entspricht einem Tabulatorzeichen. |
Unicodezeichen |
\x#### oder \u#### |
Entspricht einem Zeichen, das durch den Unicodewert angegeben ist, wobei es sich bei #### um hexadezimale Ziffern handelt. Sie können ein Zeichen außerhalb von Basic Multilingual Plane (d. h. ein Ersatzzeichen) mit dem ISO 10646-Codepunkt angeben bzw. mit zwei Unicode-Codepunkten, die die Werte für das Ersatzzeichenpaar liefern. |
\u0065 findet das Zeichen "e". |
In der folgenden Tabelle werden die zweibuchstabigen Abkürzungen aufgelistet, mit denen die allgemeinen Kategorien angeben werden, die in der Datenbank der Unicode-Zeicheneigenschaften aufgelistet sind. Sie können diese Abkürzungen als Teil eines Zeichensatzes für reguläre Ausdrücke verwenden. Der Ausdruck [:Nd:Nl:No] entspricht z. B. einer beliebigen Ziffer.
Weitere Informationen über die Datenbank der Unicode-Zeicheneigenschaften finden Sie unter Unicode Standard 5.0 Character Properties.
Ausdruck |
Syntax |
Beschreibungen |
---|---|---|
Großbuchstabe |
:Lu |
Findet jeden beliebigen Großbuchstaben. Beispiele: :Luhe findet "The", jedoch nicht "the". |
Kleinbuchstabe |
:Ll |
Findet jeden beliebigen Kleinbuchstaben. Beispiele: :Llhe findet "the", jedoch nicht "The". |
Großer Anfangsbuchstabe |
:Lt |
Findet Zeichen, bei denen eine Kombination aus einem Großbuchstaben und einem Kleinbuchstaben vorliegt, wie Nj und Dz. |
Modifiziererbuchstabe |
:Lm |
Findet Buchstaben oder Satzzeichen, z. B. Kommas, Akzente und doppelte gerade Anführungszeichen, zum Anzeigen von Änderungen an dem vorhergehenden Buchstaben. |
Anderer Buchstabe |
:Lo |
Entspricht anderen Buchstaben, z. B. dem Gothic-Buchstaben Ahsa. |
Dezimalstelle |
:Nd |
Findet dezimale Ziffern wie 0-9 und deren Äquivalente voller Breite. |
Buchstabenziffer |
:Nl |
Findet Buchstabenziffern, z. B. römische Zahlen und die ideografische Zahl 0 (null). |
Andere Ziffer |
:No |
Findet andere Ziffern, z. B. die Zahl 1 in Fett- und Kursivformatierung. |
Öffnende Interpunktionszeichen |
:Ps |
Findet öffnende Interpunktionszeichen, z. B. öffnende geschweifte oder runde Klammern. |
Schließende Interpunktionszeichen |
:Pe |
Findet schließende Interpunktionszeichen, z. B. schließende geschweifte oder runde Klammern. |
Anführungszeichen am Anfang |
:Pi |
Entspricht doppelten Anführungszeichen am Anfang einer Zeichenfolge. |
Anführungszeichen am Ende |
:Pf |
Entspricht einzelnen Anführungszeichen und doppelten Anführungszeichen am Ende einer Zeichenfolge. |
Bindestrich |
:Pd |
Entspricht dem Bindestrichzeichen. |
Unterstrich |
:Pc |
Entspricht dem Unterstrichzeichen. |
Andere Interpunktionszeichen |
:Po |
Entspricht (,), ?, ", !, @, #, %, &, *, \, (:), (;), ' und /. |
Leerzeichen |
:Zs |
Entspricht den Leerzeichen. |
Zeilenseparator |
:Zl |
Entspricht dem Unicodezeichen U+2028. |
Absatzseparator |
:Zp |
Entspricht dem Unicodezeichen U+2029. |
Zeichen für keine Leerstelle |
:Mn |
Entspricht Zeichen für keine Leerstelle. |
Kombinierungszeichen |
:Mc |
Entspricht Kombinierungszeichen. |
Einschließendes Zeichen |
:Me |
Entspricht einschließenden Zeichen. |
Mathematisches Symbol |
:Sm |
Entspricht +, =, ~, |, < und >. |
Währungssymbol |
:Sc |
Entspricht $ und anderen Währungssymbolen. |
Modifizierersymbol |
:Sk |
Findet Modifizierersymbole, z. B. Zirkumflexzeichen, Graviszeichen und Längezeichen. |
Anderes Symbol |
:So |
Entspricht anderen Symbolen, z. B. dem Copyright-Zeichen, dem Pilcrow-Zeichen und dem Gradzeichen. |
Anderes Steuerelement |
:Cc |
Entspricht Unicode-Steuerzeichen, z. B. TAB und NEWLINE. |
Anderes Format |
:Cf |
Formatierungssteuerzeichen, z. B. bidirektionale Steuerzeichen. |
Ersatzzeichen |
:Cs |
Findet die Hälfte des Ersatzzeichenpaars. |
Andere privat gebrauchte |
:Co |
Entspricht einem beliebigen Zeichen aus dem Bereich für privaten Gebrauch. |
Andere nicht zugewiesene |
:Cn |
Entspricht Zeichen, für die kein Unicodezeichen vorhanden ist. |
Zusätzlich zu den Standardeigenschaften von Unicode-Zeichen können die folgenden Eigenschaften ebenfalls als Teil eines Zeichensatzes angegeben werden.
Ausdruck |
Syntax |
Beschreibungen |
---|---|---|
Alpha |
:Al |
Entspricht einem beliebigen Zeichen. Beispiel: :Alhe findet Wörter wie "The", "then" und "reached". |
Numerisch |
:Nu |
Entspricht einer beliebigen Zahl oder Ziffer. |
Interpunktion |
:Pu |
Entspricht allen Satzzeichen wie ?, @, ' usw. |
Leerraum |
:Wh |
Entspricht sämtlichen Arten von Leerzeichen, einschließlich veröffentlichungsbedingter und ideografischer Leerzeichen. |
Bidi |
:Bi |
Findet Zeichen in Schriften, die von rechts nach links geschrieben werden, wie Arabisch und Hebräisch. |
Hangul |
:Ha |
Entspricht Zeichen aus dem koreanischen Hangul und kombiniertem Jamos. |
Hiragana |
:Hi |
Entspricht Hiragana-Zeichen. |
Katakana |
:Ka |
Entspricht Katakana-Zeichen. |
Ideografisch/Han/Kanji |
:Id |
Findet ideografische Zeichen wie Han und Kanji. |
Siehe auch
Referenz
Schnellsuche, Fenster "Suchen und Ersetzen"
Schnellersetzung, Fenster "Suchen und Ersetzen"
In Dateien suchen, Fenster "Suchen und Ersetzen"
In Dateien ersetzen, Fenster "Suchen und Ersetzen"
Visual Studio-Befehle mit Argumenten
Weitere Ressourcen
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
Juni 2010 |
Falsche Ausdrücke in Gruppierung wurden korrigiert. |
Kundenfeedback. |