Powershell 中正则表达式的 \K 等价物是什么?

What is the equivalent to \K for regex in Powershell?

我在 regex101 上创建了一个正则表达式,它按预期工作,但问题是其中一部分在 Powershell 中显然无效; \K

本质上我是在寻找字符串的实例,并在字符串实例之后返回整个单词。所以这是一个例子:

\btest\s+\K\S+

这会找到单词 test 及其后的单词 returns 的每个示例。我确实尝试过 Lookaheads 和 Lookbehinds,虽然其中一些确实有效,但它们仍然返回 test 或其他不必要的字符。

有没有办法在 powershell 中复制 \K?或者更好的是,任何允许 PowerShell 使用 \K 的附加组件?

What about something like this: (?<=\btest\b)\s+(\w+)\S+

test 的正面回顾,然后是您要查找的其他内容,以及对以下单词的捕获组。

PowerShell 使用 .Net RegEx 引擎和 it doesn't support \K as you know it(它用于引用 .Net 中的命名捕获组)。你无法改变这一点。

您可以使用与 .Net 兼容的正则表达式的第三方实现,但似乎不太可能有这样的事情,因为通常 .Net 有一个非常好的全功能引擎。