来源为1234567890
,正则表达式((?<=\d)\d{3})*\b
可匹配:234567890
,因此我认为sed
应将234567890
替换为TEST
,但结果是:1234567890
,为什么?
答案 0 :(得分:1)
后视。 你可以尝试ssed(super sed),它支持perl模式,( - R)然后你可以将perl样式正则表达式传递给它。例如向前/向后看。
查看功能列表:
答案 1 :(得分:0)
你需要在没有lookbehind的情况下重写正则表达式:
s/(\d)(?:\d{3})*\b/\1TEST