我想编辑这行输入并向Product_A Key添加一些更多的值。
input="CSDT_FLAG_PRODUCT_FF_FWUIDS=Product_A:45223423;Product_PD:4;Product_CD:345345,22454;Product_F:3423"
我有下面的ant replacegex行。
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中存在的原始值。我想在原始值后面加一个逗号。我该怎么做呢?感谢任何帮助。
谢谢
我不知道一件事关于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 key的值将始终是一个8位字符串,你可以使用这个正则表达式:
/Product_A:(.{8});/
()
内的匹配组将捕获代码,这是尽可能多的我可以帮助你,也许这个答案在Ant属性中替换字符有帮助。