微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则expression式和sed命令:echo 1234567890 | sed's /?<= \ d\ d {3}* \ b / TEST /

源码是1234567890 ,正则expression式((?<=d)d{3})*b可以匹配: 234567890 ,所以我认为sed应该用TESTreplace234567890 ,但结果是: 1234567890 ,为什么?

perl grep在ssh2-> exec中找不到任何东西

Bash脚本更新ssl.conf中SSL证书文件的path(RegEx字与#匹配)

如何根据目录名称更改多个文件内容

为什么sed在linux上提供一个“无效内容错误,而不是在Mac上

如何使用Windows PowerShell的正则expression式删除一个文件名末尾的一个或多个空格?

sed不支持look-behind。 你可以尝试(超级sed),它支持perl模式,(-R),那么你可以传递perl风格的正则表达式。 例如向前看/在后面。

请参阅功能列表:

https://launchpad.net/ssed

你需要重写正则表达式而不是向后看:

s/(d)(?:d{3})*b/1TEST

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐