我正在循環使用Ant-Contrib庫的基本目錄內的文件列表。我想獲得基本目錄後文件路徑的一部分,但沒有文件名。Ant Propertyregex文件路徑的一部分
例如我的基本目錄爲:C:\項目\開發\ MAIN \樣品遊戲\ JS 我有很多JS腳本和類似
C:\projects\Dev\Main\Sample Game\js\simple\welcome\ss.js
C:\projects\Dev\Main\Sample Game\js\hard\welcome\cc.js
C:\projects\Dev\Main\Sample Game\js\easy\welcome\ee.js
此文件夾和子文件夾的名字裏面我想只有\simple\welcome\
。我正在使用下面的代碼。
<for param="filename">
<path id="project.fileset">
<fileset dir="${basedir}/js" includes="/*">
<include name="**/*.js" />
</fileset>
</path>
<sequential>
<basename property="[email protected]{filename}" file="@{filename}"/>
<propertyregex property="currentdirectory"
input="@{filename}"
regexp="${basedir}/js//([^//]*)//${[email protected]{filename}}"
select="\1"
casesensitive="false"
override="true" />
<echo message="FullPath:@{filename}" />
<echo message="Directory:${currentdirectory}" />
</sequential>
</for>
我不知道我應該提供什麼有正則表達式的...我試着用正則表達式${basedir}/js//([^//]*)//${[email protected]{filename}}
,但提示以下錯誤:
java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 3
C:\projects\Dev\Main\Sample Game\js\simple\welcome\ss.js
請給一些這方面的建議正則表達式
我在你的代碼片段中看不到與正則表達式相關的任務,它只是拉取基本名稱。然而,正則表達式+ \\ js(。+ \\\)會從C:\ projects \ Dev \ Main \ Sample Game \ js \ simple \ welcome \ ss.js中捕獲\ simple \ welcome \ – Rebse