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




目录