2012-06-23 123 views
2

處理將解析我的一些java文件的腳本。我正在嘗試使用replaceAll()來擺脫一些我不需要的東西。所以它是靜態的東西很容易,但有些更難。Groovy with replaceAll with wildcards

MyWebsiteTests extends MYbaseTest { 

因此,對於這一個我想刪除擴展和它後面的任何東西在該行。由於

回答

4

這將做到這一點:

line.replaceAll(/(.+)\sextends.*$/, '$1') 

解析與正則表達式的源代碼似乎總是在眼淚中收場,雖然...

+0

這對我不起作用 – jrock2004

+0

@ jrock2004應該做...'assert'MyWebsiteTests'=='MyWebsiteTests擴展MYbaseTest {'.replaceAll(/(.+)\sextends.*$/,'$ 1')'適用於我... –

+0

+1 for _「用正則表達式解析源代碼似乎總是流下眼淚」_ –

2

的Groovy:

assert expected == before.replaceFirst(/\s+extends\s.*/, '') 

assert expected == before.replaceAll(/\s+extends\s.*/, '') 
+0

工作。謝謝 – jrock2004

+0

@ jrock2004 - 請點擊答案左邊的數字下方的複選標記(懸停鼠標指針下的數字以顯示覆選標記),接受此答案。 –