2013-01-16 73 views
0

我想編輯這一行的輸入並添加一些更多的值到Product_A Key。ReplaceRegex函數沒有做這個工作

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

我有下面的螞蟻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。我想用逗號附加到原始值。我該怎麼做呢? 任何幫助表示讚賞。

感謝

回答

0

我不知道一個關於螞蟻的事情,如何處理正則表達式,但我認爲這個問題依賴於正則表達式。你有一個字符串

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

和正則表達式

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

;比賽,直到字符;最後出場的,因此不下PRODUCT_A僅符合價值,看到自己here

但是,如果你現在在PRODUCT_A鍵的值將始終是一個8位數字的字符串,你可以使用這個表達式:

/Product_A:(.{8});/ 

()內的匹配組將捕獲的代碼,這是儘可能多的我可以幫你,也許這個答案Replacing characters in Ant property幫助。