小编ber*_*ers的帖子

如何在sed的正则表达式中使用[\w]+?

我在 Windows 上,但我想我的问题仍然正确地放在这里。

C:\Users\User>grep --version
GNU grep 2.6.3

C:\Users\User>sed --version
GNU sed version 4.2.1
Run Code Online (Sandbox Code Playgroud)

我注意到以下工作(输出here):

echo here | grep -E "\w+"
echo here | grep -E "[her]+"
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用(不输出任何内容):

echo here | grep -E "[\w]+"
Run Code Online (Sandbox Code Playgroud)

这再次执行(输出here):

echo here | grep -P "[\w]+"
Run Code Online (Sandbox Code Playgroud)

[\w]我认为这是 Perl 正则表达式特有的东西。那是对的吗?

所以,让我们谈谈sed。这有效(输出gone):

echo here | sed -r "s/\w+/gone/"
echo here | sed -r "s/[her]+/gone/"
Run Code Online (Sandbox Code Playgroud)

同样,这不会(输出here):

echo here | sed -r "s/[\w]+/gone/"
Run Code Online (Sandbox Code Playgroud)

现在,我如何为 sed 激活 Perl 正则表达式——有什么办法吗?

grep sed regular-expression

28
推荐指数
2
解决办法
3万
查看次数

标签 统计

grep ×1

regular-expression ×1

sed ×1