你能告诉我如何在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"/>
答案 0 :(得分:1)
这些是纯正则表达式模式,假设*是任何字符,但分号([^;]
)
第一部分是强制性的,至少有一个产品是强制性的,产品不能为空:
^([A-Z_]+)=(?:(Product_[A-Z]+):([^;]+);?)+
第一部分是强制性的,产品是可选的但不是空的:
^([A-Z_]+)=(?:(Product_[A-Z]+):([^;]+);?)*
第一部分是强制性的,产品是可选的,它们可以是空的:
^([A-Z_]+)=(?:(Product_[A-Z]+):([^;]*);?)*
请注意,以?:
开头的群组不会返回任何优化内容。