多くのファイルを開いて//@public object
パターンを検索し、一致するものがない場合は、そのファイル内の//@public doc
前にない JavaScript コメントをすべて削除する必要があります。
たとえば、次のようなものがあります。
//@public doc
/**
* @function
* checks for specific conditions
* specific variables
*/
そしてそれはそのままです。ただし、他のすべての JavaScript コメントは削除する必要があります。
そのための正規表現は何であり、それをどのように達成するのですか?
前もって感謝します。
その間、私は次の解決策を思いついた
<fileset id="jsmvcdoc.fileset" dir="${doctempfolder}" includes="**/*.js">
<not>
<contains text="//@public object" casesensitive="no"/>
</not>
</fileset>
<!-- JS Comments -->
<replaceregexp match="(?!doc. +)/\*.+?\*/" replace="" flags="gs" byline="false">
<fileset refid="jsmvcdoc.fileset"/>
</replaceregexp>
//@public オブジェクトを含まないファイルのみを含むファイルセットをフィルター処理しますが、//@public doc 行が前にあるコメントを除くすべてのコメントを削除する正規表現を作成する方法がわかりません
このように解決しました:
<!-- strip out js comments not preceeded by //@public doc -->
<replaceregexp match="(?<!//@public doc\x0D\x0A )/\*.+?\*/" replace="" flags="gs" byline="false">
<fileset refid="jsmvcdoc.fileset"/>
</replaceregexp>