PowerShell - 正则表达式



正则表达式是一系列特殊的字符序列,它使用专门的语法(包含在模式中)来帮助您匹配或查找其他字符串或字符串集。它们可用于搜索、编辑或处理文本和数据。

以下是 PowerShell 中所有正则表达式元字符语法的列表:

子表达式 匹配
^ 匹配行首。
$ 匹配行尾。
. 匹配除换行符之外的任何单个字符。使用m选项允许它也匹配换行符。
[...] 匹配括号内的任何单个字符。
[^...] 匹配括号外的任何单个字符。
\A 整个字符串的开头。
\z 整个字符串的结尾。
\Z 整个字符串的结尾,除了允许的最终行终止符。
re* 匹配前一个表达式的 0 个或多个出现。
re+ 匹配前一个表达式的 1 个或多个出现。
re? 匹配前一个表达式的 0 个或 1 个出现。
re{ n} 精确匹配前一个表达式的 n 个出现。
re{ n,} 匹配前一个表达式的 n 个或更多出现。
re{ n, m} 匹配前一个表达式的至少 n 个至多 m 个出现。
a| b 匹配 a 或 b。
(re) 对正则表达式进行分组并记住匹配的文本。
(?: re) 对正则表达式进行分组但不记住匹配的文本。
(?> re) 匹配独立模式,不回溯。
\w 匹配单词字符。
\W 匹配非单词字符。
\s 匹配空白字符。等效于 [\t\n\r\f]。
\S 匹配非空白字符。
\d 匹配数字。等效于 [0-9]。
\D 匹配非数字。
\A 匹配字符串的开头。
\Z 匹配字符串的结尾。如果存在换行符,则匹配换行符之前的字符。
\z 匹配字符串的结尾。
\G 匹配上次匹配结束的位置。
\n 反向引用捕获组编号“n”。
\b 在括号外匹配单词边界。在括号内匹配退格键 (0x08)。
\B 匹配非单词边界。
\n, \t, etc. 匹配换行符、回车符、制表符等。
\Q 转义(引用)直到 \E 的所有字符。
\E 结束以 \Q 开始的引用。

以下是一个完整的示例,展示了如何在 PowerShell 中使用正则表达式:

序号 匹配及描述
1 匹配字符

支持的正则表达式字符示例。

2 匹配字符类

支持的字符类示例。

3 匹配限定符

支持的限定符示例。

广告