首页 > 解决方案 > 在我的 groovy 命令中需要逃脱帮助

问题描述

我需要替换文件中的版本字符串。我的搜索模式是正则表达式,我的替换是一个变量。

String search = "\\d+.\\d+.\\d+-.\\d+"
String replace = "1.0.0-${BUILD_ID}"
MyFile = "foo"
sh ("""
     sed -i -r "s/($search/$replace/g)" $MyFile
""")

我得到的结果

+ sed -i -r s/(\d+.\d+.\d+-.\d+/1.0.0-25/g) foo
sed: bad option in substitution expression

标签: sedjenkins-groovy

解决方案


我发现我的代码有问题。如果我删除括号 (),字符串替换就像一个魅力。


推荐阅读