0

我想编辑这行输入并向 Product_A 键添加更多值。

 input="CSDT_FLAG_PRODUCT_FF_FWUIDS=Product_A:45223423;Product_PD:4;Product_CD:345345,22454;Product_F:3423"

我有下面的 ant replaceregex 行。

replaceregexp file="../cms-distribution/src/main/properties/editorial/common/csdtflags.properties" flags="s" match="Product_A:([^\.]*)([;])?" replace="Product_A:,${uid}\1" byline="true"/>

除了产生的结果之外,这可以完成工作:

CSDT_FLAG_PRODUCT_FF_FWUIDS=Product_A:+,42e8140a-79ce-4bda-b64a-539bc4a17dbb+,80ab7183-715d-471b-8ae0-b527d2597b06+,......

它从无处插入一个 + 符号,其次它替换了 Product_A 中存在的原始值。我想用逗号附加到原始值。我该怎么做呢?任何帮助表示赞赏。

谢谢

4

1 回答 1

0

我对 ant 以及它如何处理正则表达式一无所知,但我认为问题取决于正则表达式。你有一个字符串

"CSDT_FLAG_PRODUCT_FF_FWUIDS=Product_A:45223423;Product_PD:4;Product_CD:345345,22454;Product_F:3423"

和一个正则表达式

/Product_A:([^\.]*)([;])?/

;匹配直到字符的最后一次出现,;因此不只匹配Product_A下的值,请在此处自行查看。

但是,如果您现在Product_A键的值始终是 8 位字符串,则可以使用此正则表达式:

/Product_A:(.{8});/

里面的匹配组()将捕获代码,这就是我可以帮助你的,也许这个答案Replacing characters in Ant property 有帮助。

于 2013-01-16T14:31:24.403 回答