主题 about_Regular_Expressions 简短说明 介绍 Windows PowerShell 中的正则表达式。 详细说明 Windows PowerShell 支持以下正则表达式字符。 格式 逻辑 示例 -------- ------------------------------- ----------------------- 值 与原始值中任意位置的字符严格匹配。 "book" -match "oo" . 与任意一个字符匹配。 "copy" -match "c..y" [值] 与方括号中至少一个字符匹配。 "big" -match "b[iou]g" [范围] 与范围内至少一个字符匹配。 "and" -match "[a-e]nd" 范围内的多个字符。使用连字符 (-) 可以指定相邻字符。 [^] 与除方括号中的字符以外的 "and" -match "[^brt]nd" 所有字符匹配。 ^ 与开头的字符匹配。 "book" -match "^bo" $ 与结尾的字符匹配。 "book" -match "ok$" * 与前导字符的所有实例匹配。 "baggy" -match "g*" ? 与前导字符的一个实例匹配。 "baggy" -match "g?" \ 与后面作为转义字符的字符匹配。 "Try$" -match "Try\$" Windows PowerShell 支持 Microsoft .NET Framework 正则表达式中可用的字符类。 格式 逻辑 示例 -------- ------------------------------- ----------------------- \p{name} 与 {name} 所指定的命名字符类中的 "abcd defg" -match "\p{Ll}+" 任意字符匹配。支持的名称包括 Unicode 组和块范围,例如 Ll、Nd、 Z、IsGreek 和 IsBoxDrawing。 \P{name} 与未包括在 {name} 中指定的组和 1234 -match "\P{Ll}+" 块范围中的文本匹配。 \w 与任意单词字符匹配。相当于 Unicode "abcd defg" -match "\w+" 字符类别 [\p{Ll}\p{Lu}\p{Lt}\p{Lo} (这与 abcd 匹配) \p{Nd}\p{Pc}]。如果通过 ECMAScript 选项指定符合 ECMAScript 的行为, 则 \w 相当于 [a-zA-Z_0-9]。 \W 与任意非单词字符匹配。相当于 Unicode "abcd defg" -match "\W+" 类别 [^\p{Ll}\p{Lu}\p{Lt} (这与空格匹配) \p{Lo}\p{Nd}\p{Pc}]。 \s 与任意空格字符匹配。相当于 Unicode "abcd defg" -match "\s+" 字符类别 [\f\n\r\t\v\x85\p{Z}]。 \S 与任意非空格字符匹配。相当于 Unicode "abcd defg" -match "\S+" 字符类别 [^\f\n\r\t\v\x85\p{Z}]。 \d 与任意十进制数匹配。相当于用于 Unicode 12345 -match "\d+" 的 \p{Nd} 和用于非 Unicode 行为的 [0-9]。 \D 与任意非数字匹配。相当于用于 Unicode "abcd" -match "\D+" 的 \P{Nd} 和用于非 Unicode 行为的 [^0-9]。 Windows PowerShell 支持 .NET Framework 正则表达式中可用的限定符。以下是限定符的一些 示例。 格式 逻辑 示例 -------- ------------------------------- ----------------------- * 指定零或多个匹配项; 例如 \w* "abc" -match "\w*" 或 (abc)*。相当于 {0,}。 + 与前导字符的重复实例匹配。 "xyxyxy" -match "xy+" ? 指定零或一个匹配项;例如 \w? "abc" -match "\w?" 或 (abc)?。相当于 {0,1}。 {n} 严格指定 n 个匹配项; "abc" -match "\w{2}" 例如 (pizza){2}。 {n,} 指定至少 n 个匹配项; "abc" -match "\w{2,}" 例如 (abc){2,}。 {n,m} 指定至少 n 个但不 "abc" -match "\w{2,3}" 超过 m 个匹配项。 上表中显示的所有比较的计算结果为 true。 请注意,用于正则表达式的转义符反斜杠 (\) 不同于 Windows PowerShell 的转义符。Windows PowerShell 的转义符为倒引号字符 (`) (ASCII 96)。 有关详细信息,请参阅 Microsoft Developer Network (MSDN) 库中的"正则表达式语言元素" 主题,网址为 https://go.microsoft.com/fwlink/?LinkId=133231。 另请参阅 about_Comparison_Operators about_Operators