首页/系统/Windows 运维速查/正则 -match / -replace
PowerShell 基础66 条

正则 -match / -replace

内置正则支持:-match 判断与 $Matches 捕获、-replace 替换、[regex]::Matches 批量提取,比手工切分稳。

Windows 运维速查系统更新于 2026-10-12
用途正则匹配、捕获与替换
语法'文本' -match '模式';'文本' -replace '模式','替换'
捕获$Matches[0] 整体;$Matches[1..n] 分组;命名组 (?<名称>...)

常用示例

常用示例
'ip=10.0.0.8' -match '(\d+\.){3}\d+'
$Matches[0]
(Get-Content app.log) -replace '\d{2}:\d{2}:\d{2}', 'TIME'
[regex]::Matches 可一次提取全部匹配;-replace 的替换串支持 $1 引用分组。

易错点

  • $Matches 仅在最近一次 -match 成功后有值,要立即取值保存
  • -replace 的模式是正则,路径里的 . 与反斜杠要转义

数据来源与参考

  • Microsoft Learn:about_Regular_Expressions

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌