[英]How to get the index by regular expression in ANT
我有一個字符串,其版本為.v_september (每個月都會有所不同)。 在此,我想在下划線之后取值,這意味着“ sep” (僅前3個字母)。
通過使用正則表達式.v _(。*),我可以使用完整的月份,而不能僅獲得前3個字母。
有人可以幫助我如何在Apache ANT中實現這一目標。 謝謝 !
正則表達式的屬性函數在本機Ant中有點尷尬(與在文件中使用文本相反)。 Ant-contrib具有replaceregexp
任務,但我嘗試盡可能避免使用ant-contrib。
而是可以通過loadfile
任務和嵌套過濾器來完成:
<property name="version" value=".v_september" />
<loadfile property="version.month.short">
<propertyresource name="version" />
<filterchain>
<tokenfilter>
<replaceregex pattern="\.v_(.{3}).*" replace="\1" />
</tokenfilter>
</filterchain>
</loadfile>
<echo message="${version.month.short}" />
關於正則表達式模式,請注意它需要如何以.*
結尾。 這是因為Ant沒有簡單地返回捕獲組內容的“匹配”功能。 它只是在進行替換,因此我們需要替換字符串中不屬於該組的所有內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.