首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSX sed正则表达式删除

OSX sed正则表达式删除
EN

Stack Overflow用户
提问于 2017-09-06 00:44:00
回答 2查看 189关注 0票数 0

我正在尝试从grep搜索中删除一个字符串,尽管regex似乎是正确的,但我似乎无法工作。我也在使用OSX,但我安装gnu-sed是为了让事情变得更简单。

我希望下面的正则表达式可以从以下代码中删除所有的最小确定性:

代码语言:javascript
复制
gsed -r 's/minCertainty=\"\d\.\d{1,}\"//g'

以下是我正在处理的文本的一个示例,用于上下文:

代码语言:javascript
复制
<vendor="company1" minCertainty="1.0"/>
<vendor="company2" minCertainty="0.75"/>
<vendor="company3" minCertainty="0.25"/>
EN

回答 2

Stack Overflow用户

发布于 2017-09-06 01:16:10

用于数字的\d是对standard regex syntax的perl扩展(无论是基本版本还是扩展版本)。gsed -r使用扩展正则表达式语法,并且不包括perl扩展。因此,请使用[0-9][[:digit:]]。此外,您不需要转义表达式中的单引号(这似乎没有什么坏处,但我建议您不要这么做)。因此,请使用以下方法之一:

代码语言:javascript
复制
gsed -r 's/minCertainty="[0-9]\.[0-9]{1,}"//g'
gsed -r 's/minCertainty="[[:digit:]]\.[[:digit:]]{1,}"//g'
票数 3
EN

Stack Overflow用户

发布于 2017-09-06 01:12:23

在我的机器上,gsed似乎不支持\d来检测数字-至少,当我尝试它时,它不能在这里工作。下面的正则表达式可以工作:

gsed -r 's/minCertainty=\"[0-9]\.[0-9]{1,}\"//g'

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46059783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档