写正则表达式

时间:2013-01-15 10:48:05

标签: regex ant properties

你能告诉我如何在ant中为下面的字符串写一个正则表达式吗?我有一个名为typeSplitFirstPart的属性。我想在属性typeSplitFirstPart之后插入几个值,它们可以是Product_A或Product_PD或Product_CD(见下文)。

CSDT_FLAG_PRODUCT_FF_FWUIDS=Product_A:*;Product_PD:*;Product_CD:*

目前我有这个,但它没有用。

   <replaceregexp file="x" flags="s" match="([^\.]*)\$\{typeSplitFirstPart:\*?\}([^\.]*)" replace="$HELLOEVERYONE\2"/>

1 个答案:

答案 0 :(得分:1)

这些是纯正则表达式模式,假设*是任何字符,但分号([^;]

第一部分是强制性的,至少有一个产品是强制性的,产品不能为空:

^([A-Z_]+)=(?:(Product_[A-Z]+):([^;]+);?)+

第一部分是强制性的,产品是可选的但不是空的:

^([A-Z_]+)=(?:(Product_[A-Z]+):([^;]+);?)*

第一部分是强制性的,产品是可选的,它们可以是空的:

^([A-Z_]+)=(?:(Product_[A-Z]+):([^;]*);?)*

请注意,以?:开头的群组不会返回任何优化内容。