2

誰かが以前にアリのプロパティと正規表現を使って作業したことがありますか?もしそうなら、それを機能させるためにこの文字列をどのように修正する必要があるか知っていますか?

<replaceregexp 
file="../cms-distribution/src/main/properties/editorial/common/csdtflags.properties" 
flags="s" 
match="${typeSplitFirstPart}:([a-zA-Z,0-9-]+)([;])?"
replace="${typeSplitFirstPart}:\1,${uid}\2"
byline="true"/>



Error : java.util.regex.PatternSyntaxException: Illegal repetition near index 0

${typeSplitFirstPart}:([a-zA-Z,0-9-]+)([;])?

TypeSplitFirstPartはantプロパティであるため、この方法で参照する必要があります-値を取得するには${typeSplitFirstPart}。$、{、}などの特殊文字を円記号でエスケープする必要がありますが、その場合、プロパティの値は取得されません。$をエスケープすると、typeSplitFirstPartの値のみが取得されますが、このエラーがスローされます-

java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 1

\Template:([a-zA-Z,0-9-]+)([;])?

注-ここ${typeSplitFirstPart}は正しく読み取られ、その値「テンプレート」が書き込まれています。

ありがとうございました、

4

1 に答える 1

1

リストの最後のダッシュをエスケープする必要があるようです:

([a-zA-Z0-9\-]+)
于 2013-01-16T16:21:53.647 に答える