linux sed 捕获,如何在sed中指定非捕获组?

小编典典

答案是,截至撰写时,您不能-sed不支持它。Sed支持BRE和ERE,但不支持PCRE。

(注:一个答案指出BRE也称为POSIX sed,而ERE是通过sed -r的GNU扩展。有一点仍然是sed不支持PCRE。)

Perl适用于Windows或Linux

这里的例子

例如,来自Windows中的cygwin

$ echo -e 'abcd' | perl -0777 -pe 's/(a)(?:b)(c)(d)/\1/s'

a

$ echo -e 'abcd' | perl -0777 -pe 's/(a)(?:b)(c)(d)/\2/s'

c

尽管有Windows程序,但该程序可以在命令行上进行搜索和替换,并且支持PCRE。它称为rxrepl。它不是sed,但是可以搜索并替换为PCRE支持。

C:\blah\rxrepl>echo abc | rxrepl -s "(a)(b)(c)" -r "\1"

a

C:\blah\rxrepl>echo abc | rxrepl -s "(a)(b)(c)" -r "\3"

c

C:\blah\rxrepl>echo abc | rxrepl -s "(a)(b)(?:c)" -r "\3"

Invalid match group requested.

C:\blah\rxrepl>echo abc | rxrepl -s "(a)(?:b)(c)" -r "\2"

c

C:\blah\rxrepl>

它具有非常好的语法。

使用的标准对象是perl或人们使用的几乎所有其他编程语言。

2020-06-03

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值