直接回答:在 PowerShell 7.5 中,$Matches 不是每次执行 -match 或 -notmatch 都会清空并重写的普通变量。按本机 Windows 台式电脑上 PowerShell 7.5 的规则,只有输入是标量,并且 -match 返回 True,或者 -notmatch 返回 False 时,$Matches 才会被本次匹配覆写。若标量 -match 返回 False、标量 -notmatch 返回 True,或者输入是集合,$Matches 不会因这次调用而更新,所以仍可能保留上一次成功匹配留下的键,也可能在从未设置时为 null。因此看到 $Matches 里有内容,不能直接断定当前表达式匹配成功,必须先确认当前调用的布尔结果。

适用:适用于广元市利州区 Windows 台式电脑上的 PowerShell 7.5 正则判断场景,尤其是脚本和日志中先执行 -match 或 -notmatch、随后读取 $Matches 的写法。这里只核对现有去敏脚本与日志,不运行业务命令、不修改策略、不安装模块试验。
观察:先记录表达式本次返回值。若 -match 为 True,或 -notmatch 为 False,才可继续读取 $Matches['0'] 及分组键;若 -match 为 False 或 -notmatch 为 True,应把捕获视为未由本次产生,不读取旧键。再检查左侧输入是单个字符串还是集合;若是集合,结果应是匹配成员列表,不能按标量捕获规则解读 $Matches。最后对照去敏日志中的上一条成功匹配记录与当前失败记录,确认 $Matches 是否只是遗留值。
风险:若在失败分支仍读取 $Matches,可能把上一条正则的捕获当成本次数据,造成日志判断、字段提取或故障定位偏差;集合输入下还可能误以为捕获到了每个成员。变量里有值并不等于当前匹配成功,需以本次布尔返回值和输入类型为准。
下一步:在广元市利州区这台 Windows 台式电脑上,保留并整理现有去敏脚本片段、执行前后的 $Matches 键值、本次 -match 或 -notmatch 的布尔结果和输入类型,避免放入业务敏感内容;只核对材料,不运行业务命令、不修改策略、不安装模块试验。需要进一步咨询时,可拨打 400-877-9605;电脑快修网是信息展示与第三方维修对接平台,该号码只作咨询,实际范围和安排需确认。