這裏是我的2串 D:/path/to/project/js/folder/LVL1/LVL2/mylibrary.js
和 D:/path/to/project/js/folder/mylibrary.js
第一個我想/LVL1/LVL2
和 第二我希望得到一個斜線/
這裏是我的正則表達式^.+js\/folder(\/[^\.]*[^\/])\/.+\.js+$
它工作正常,爲第一,但沒有返回第二
這是一個Ant任務(更具體的jscomp
)使用。基本上我想編譯'D:/ path/to/project/js/folder /'中的每個JavaScript文件,並將輸出放在其他地方與嵌套文件夾。這是我的螞蟻任務的摘錄,如果它有幫助。
<target name="compileJS" description="minifier les fichier JS">
<taskdef name="jscomp"
classname="com.google.javascript.jscomp.ant.CompileTask"
classpath="${lib.dir}/thirdparty/closure-compiler/compiler.jar" />
<taskdef resource="net/sf/antcontrib/cpptasks/antlib.xml">
<classpath>
<pathelement location="${lib.dir}/thirdparty/ant-contrib/cpptasks.jar" />
</classpath>
</taskdef>
<echo message="Searching for files in ${basedir}\charte\js" />
<for param="filename">
<path>
<fileset dir="${basedir}/charte/js">
</fileset>
</path>
<sequential id="i">
<!-- This gets the filename without the directory path. -->
<basename property="[email protected]{filename}" file="@{filename}" />
<propertyregex property="file"
input="@{filename}"
regexp="\\"
replace="/"
override="true"
defaultvalue="@{filename}" />
<echo message=">...>...> input = ${file}"/>
<propertyregex property="[email protected]{filename}"
input="${file}"
regexp="^.+js\/folder(\/[^\.]*[^\/])\/.+[\.js]+$"
select="\1"
casesensitive="false" override="true" />
<echo message=">...>...> directory = ${[email protected]{filename}}"/>
<echo message="Compressing file ${[email protected]{filename}} in ${[email protected]{filename}}" />
<jscomp compilationLevel="simple"
output="${build.dir}/charte/js/[email protected]{filename}/${[email protected]{filename}}">
<sources dir="${base.dir}/charte/js/[email protected]{filename}/">
<file name="${[email protected]{filename}}" />
</sources>
</jscomp>
</sequential>
</for>
</target>
感謝
謝謝你的最簡版:) – Nani 2014-11-21 10:03:59