about_Regular_Expressions

主题
    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