You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中获取正则表达式的全部匹配(含所有位置)

正则表达式ab*匹配"ababab"的结果解析

先给你拆解一下核心逻辑:b*的正则规则是匹配0个或任意多个连续的b,虽然它允许空匹配,但在你给定的字符串"ababab"里,位置0、2、4处刚好都是"ab"结构,所以正则会优先匹配到完整的"ab"(而非空匹配)。

下面是实际执行的PowerShell代码和对应的匹配结果:

执行代码

PS C:\Users\admin> [regex]$regex = "ab*"
PS C:\Users\admin> $regex.Matches("ababab")

匹配结果

Groups : {0}
Success : True
Name : 0
Captures : {0}
Index : 0
Length : 2
Value : ab

Groups : {0}
Success : True
Name : 0
Captures : {0}
Index : 2
Length : 2
Value : ab

Groups : {0}
Success : True
Name : 0
Captures : {0}
Index : 4
Length : 2
Value : ab

如果你需要确保结果集包含这些匹配项,直接使用$regex.Matches()方法就完全满足需求——这个方法会返回目标字符串中所有非重叠的有效匹配结果,正好对应你期望的位置0、2、4处的匹配项。

内容的提问来源于stack exchange,提问作者Shuzheng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:04:53