ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.
C:\Windows-7>Powershell get-help about_regular_expressions -full
# TOPIC
about_Regular_Expressions
# SHORT DESCRIPTION
Describes regular expressions in Windows PowerShell.
# LONG DESCRIPTION
Windows PowerShell supports the following regular expression characters.
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 one instance "baggy" -match "g?"
of the preceding character.
\ Matches the character that "Try$" -match "Try\$"
follows as an escaped character.
Windows PowerShell supports the character classes available in
Microsoft .NET Framework regular expressions.
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 supports the quantifiers available in .NET Framework
regular expressions. The following are some examples of quantifiers.
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.
All the comparisons shown in the preceding table evaluate to true.
Notice that the escape character for regular expressions, a backslash
(\
),
is different from the escape character for Windows PowerShell. The
escape character for Windows PowerShell is the backtick character
(`
)
(ASCII 96
).
For more information, see the "Regular Expression Language Elements" topic
in the Microsoft Developer Network
(MSDN
) library
at http://go.microsoft.com/fwlink/?LinkId=133231.
SEE ALSO
about_Comparison_Operators
about_Operators
C:\Windows>powershell
get-help about_remote -full