小编Tim*_*Tim的帖子

为什么这会添加空格?echo "x ax" | sed 's/x\s*/x /'

我想找到一个x, 并将后面的 0 个或多个空格 ( \s*) 替换为一个空格。

echo "x ax" | sed 's/x\s*/x /'
Run Code Online (Sandbox Code Playgroud)

出于某种原因,它没有用单个空格替换空格,而是将一个空格附加到之前存在的空格中:

x  ax
Run Code Online (Sandbox Code Playgroud)

不管我使用了标志,使用+替代*似乎绝对没有-E

似乎sed没有做非贪婪的表达式,那么为什么*在匹配时不消耗所有空格?

我是非 bash 设置中的正则表达式忍者,但 bash 及其工具让我活着。我不知道如何为成功的搜索引擎查询简洁地表达这一点。

sed regular-expression replace

4
推荐指数
1
解决办法
434
查看次数

标签 统计

regular-expression ×1

replace ×1

sed ×1