about_Regular_Expressions

Aggiornamento: maggio 2014

Si applica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

Inserire l'introduzione qui.

ARGOMENTO

about_Regular_Expressions

DESCRIZIONE BREVE

Descrive le espressioni regolari in Windows PowerShell®.

DESCRIZIONE LUNGA

Windows PowerShell supporta i caratteri di espressioni regolari seguenti.

        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 supporta le classi di caratteri disponibili nelle espressioni regolari di 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 supporta i quantificatori disponibili nelle espressioni regolari di .NET Framework. Di seguito sono riportati alcuni esempi di quantificatori.

        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.

Tutti i confronti illustrati nella tabella precedente restituiscono true.

Si noti che il carattere di escape per le espressioni regolari, ovvero una barra rovesciata (\), è diverso dal carattere di escape per Windows PowerShell. Il carattere di escape per Windows PowerShell è il carattere apice inverso (`) (ASCII 96).

Per altre informazioni, vedere l'argomento "Linguaggio di espressioni regolari" in MSDN (Microsoft Developer Network) Library all'indirizzo https://go.microsoft.com/fwlink/?LinkId=133231.

VEDERE ANCHE

about_Comparison_Operators

about_Operators