共用方式為


about_Regular_Expressions

適用於: Windows PowerShell 2.0, Windows PowerShell 3.0

在此插入簡介。

主題

about_Regular_Expressions

簡短描述

說明 Windows PowerShell® 中的規則運算式。

詳細描述

Windows PowerShell 支援下列規則運算式字元。

        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 支援 Microsoft .NET Framework 規則運算式中可用的字元類別。

        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 支援 .NET Framework 規則運算式中可用的數量詞。以下是數量詞的一些範例。

        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.

上表所示的所有比較都會評估為 true。

請注意,規則運算式中的逸出字元,反斜線 (\),不同於 Windows PowerShell 的逸出字元。Windows PowerShell 的逸出字元是反引號字元 (') (ASCII 96)。

如需詳細資訊,請參閱 Microsoft Developer Network (MSDN) 文件庫中的<規則運算式語言元素>,網址為 https://go.microsoft.com/fwlink/?LinkId=133231。

另請參閱

about_Comparison_Operators

about_Operators