我正在嘗試編寫一個ant
任務,用於刪除與正則表達式匹配的所有行。使用正則表達式的不可打印字符匹配
什麼,我現在在做什麼:
<replaceregexp byline="true" flags="g">
<regexp pattern="import com.xyz.abc.123.*"/>
<substitution expression=""/>
<fileset dir="/my/custom/directory">
<include name="*.java"/>
</fileset>
</replaceregexp>
這留下一個空行,不刪除它,這是可以理解我。但是當我修改正則表達式爲:
<replaceregexp byline="true" flags="g">
<regexp pattern="import com.xyz.abc.123.*\\n"/>
<substitution expression=""/>
<fileset dir="/my/custom/directory">
<include name="*.java"/>
</fileset>
</replaceregexp>
它甚至不匹配正則表達式。有關如何解決此問題的任何建議?
還有一個noob問題:當我使用這個正則表達式import com.xyz*
它無法匹配模式,當前正則表達式匹配。 prefix*
是否找到前綴爲prefix
的模式?
PS:我不想運行另一個任務來刪除所有空行,因爲這會弄亂格式並刪除我想要的空行。
感謝的,我讀你的答案後的基本閱讀起來。我不知道點元字符的作用,並將其當作文字來對待。我有錯誤的知識點是文字把「*。java「裏面的文件集包括名稱,但它的工作。現在,我用<包含名稱=」。* \。java「/>來找到所有的Java文件,但這似乎並沒有工作。 – Learner