跨阵列的简单替换失败 - 意外输出

时间:2015-09-06 06:03:55

标签: regex powershell

假设我有一个数组,我想要括起它的每个元素。我希望以下会这样做:

"a b c d".split() -replace ".*", "<$&>"

然而我获得的输出是:

<a><>
<b><>
<c><>
<d><>

而不是:

<a>
<b>
<c>
<d>

我无法弄清楚原因。这是怎么回事?

1 个答案:

答案 0 :(得分:2)

我不确定,但我认为这是因为您使用.*作为模式 - 解析器还将空字符串视为匹配,这就是为什么您获得额外匹配的原因。您可以使用模式修复它:

^.*

将强制匹配从行的开头开始。

相关问题