0

当我对以下命令的输出感到困惑时,我正在使用 sed 练习一些命令:

echo 'first:second' | sed 's_[^:]*_(&)_g'

我的问题是:为什么这个命令只用括号括起来字符串“first”和“second”?

既然我在正则表达式条件中指定了“零个或多个非冒号”,那么冒号也不应该被包裹吗?

请说清楚。

4

1 回答 1

2

你用

[^:]

搜索除 . 之外的所有字符:。所以你所体验的是正常的举止。

于 2013-05-04T06:47:42.063 回答