about_Regular_Expressions

Letzte Aktualisierung: Mai 2014

Betrifft: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

Einführung hier einfügen.

THEMA

about_Regular_Expressions

KURZE BESCHREIBUNG

Beschreibt reguläre Ausdrücke in Windows PowerShell®.

LANGE BESCHREIBUNG

Windows PowerShell unterstützt die folgenden Zeichen für reguläre Ausdrücke.

        Format   Logic                            Example
        -------- -------------------------------  -----------------------
        value    Matches exact characters         "book" -match "oo"
                 anywhere in the original value.

        .        Matches any single character.    "copy" -match "c..y"

        [value]  Matches at least one of the      "big" -match "b[iou]g"
                 characters in the brackets.

        [range]  Matches at least one of the      "and" -match "[a-e]nd"
                 characters within the range.
                 The use of a hyphen (–) allows 
                 you to specify an adjacent 
                 character.

        [^]      Matches any characters except    "and" -match "[^brt]nd"
                 those in brackets.

        ^        Matches the beginning            "book" -match "^bo"
                 characters.

        $        Matches the end characters.      "book" -match "ok$"

        *        Matches any instances            "baggy" -match "g*"
                 of the preceding character.

        ?        Matches zero or one instance     "baggy" -match "g?"
                 of the preceding character.

        \        Matches the character that       "Try$" -match "Try\$"
                 follows as an escaped character.

Windows PowerShell unterstützt die Zeichenklassen, die in regulären Ausdrücken in Microsoft .NET Framework verfügbar sind.

        Format   Logic                            Example
        -------- -------------------------------  -----------------------
        \p{name} Matches any character in the     "abcd defg" -match "\p{Ll}+"
                 named character class specified 
                 by {name}. Supported names are 
                 Unicode groups and block 
                 ranges such as Ll, Nd, 
                 Z, IsGreek, and IsBoxDrawing.
 
        \P{name} Matches text not included in     1234 -match "\P{Ll}+"
                 the groups and block ranges 
                 specified in {name}.
 
        \w       Matches any word character.      "abcd defg" -match "\w+"
                 Equivalent to the Unicode        (this matches abcd)
                 character categories [\p{Ll}
                 \p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]. 
                 If ECMAScript-compliant behavior 
                 is specified with the ECMAScript 
                 option, \w is equivalent to 
                 [a-zA-Z_0-9].
 
        \W       Matches any nonword character.   "abcd defg" -match "\W+"
                 Equivalent to the Unicode        (This matches the space)
                 categories [^\p{Ll}\p{Lu}\p{Lt}
                 \p{Lo}\p{Nd}\p{Pc}].
 
        \s       Matches any white-space          "abcd defg" -match "\s+"
                 character.  Equivalent to the 
                 Unicode character categories 
                 [\f\n\r\t\v\x85\p{Z}].
 
        \S       Matches any non-white-space      "abcd defg" -match "\S+"
                 character. Equivalent to the 
                 Unicode character categories 
                 [^\f\n\r\t\v\x85\p{Z}].
 
        \d       Matches any decimal digit.       12345 -match "\d+"
                 Equivalent to \p{Nd} for 
                 Unicode and [0-9] for non-
                 Unicode behavior.
 
        \D       Matches any nondigit.            "abcd" -match "\D+"
                 Equivalent  to \P{Nd} for 
                 Unicode and [^0-9] for non-
                 Unicode behavior.

Windows PowerShell unterstützt die Quantifizierer, die in regulären Ausdrücken in .NET Framework verfügbar sind. Es folgen einige Beispiele für Quantifizierer.

        Format   Logic                            Example
        -------- -------------------------------  -----------------------
        *        Specifies zero or more matches;  "abc" -match "\w*"
                 for example, \w* or (abc)*. 
                 Equivalent to {0,}.
  
        +        Matches repeating instances of   "xyxyxy" -match "xy+"
                 the preceding characters.

        ?        Specifies zero or one matches;   "abc" -match "\w?"
                 for example, \w? or (abc)?. 
                 Equivalent to {0,1}.
 
        {n}      Specifies exactly n matches;     "abc" -match "\w{2}"
                 for example, (pizza){2}. 
        
        {n,}     Specifies at least n matches;    "abc" -match "\w{2,}"
                 for example, (abc){2,}. 
        
        {n,m}    Specifies at least n, but no     "abc" -match "\w{2,3}"
                 more than m, matches.

Alle Vergleiche in der obigen Tabelle ergeben „True“.

Beachten Sie, dass das Escapezeichen für reguläre Ausdrücke, ein umgekehrter Schrägstrich (\), sich vom Escapezeichen für Windows PowerShell unterscheidet. Das Escapezeichen für Windows PowerShell ist das Hochkommazeichen (`) (96 ASCII).

Weitere Informationen finden Sie unter dem Thema „Sprachelemente für reguläre Ausdrücke“ in der Microsoft Developer Network (MSDN)-Bibliothek unter https://go.microsoft.com/fwlink/?LinkId=133231.

SIEHE AUCH

about_Comparison_Operators

about_Operators