2014-03-07 28 views
1

我想弄清楚正則表達式在IDEA編輯器中自動刪除所有/ * ... * /多行註釋。Regexp for/* */comments

我來

/\*.*\n.*\n\*/ 

兩線的評論,但不能獲得如何使它任何行數。

有什麼建議嗎?

注意:在IDEA替換工具中不支持'dotall'模式。

回答

2

你也許可以試試這個?

/\*[\s\S]*?\*/ 

[\s\S]*?.*?與DOTALL標誌通常的替代品。

+0

謝謝,不錯的把戲。 – setec

+0

我已經找到了解決方案,但在我的技巧列表上找到了解決方案。 – setec

0
/\*(.*\n)*\*/ 

這裏(.*\n)裝置的線,然後(.*\n)*裝置的線的重複。

+0

這是有效的,我已經測試了另一個正則表達式編輯器沒有多行模式。但不知何故,它不適用於IDEA的工具。猜猜它是錯誤的,我必須使用另一種工具。 – setec

+0

您可以嘗試用'[\ n \ r] +'替換'\ n',但不確定它是否會起作用! –

+0

這不起作用。它需要'* /'在換行符後立即出現。 – user2357112

1

最後,我必須使用第三方正則表達式工具,因爲在IDEA搜索&替換是有點竊聽。

此工具爲IDEA的「RegExp插件」。

我這樣的正則表達式用它在DOTALL模式:

/\*(?:(?!\*/).)*\*/ 

它可以正常工作與多個註釋塊。

+0

@Jerry解決方案更適合這個問題,所以這個解決方案更像是解決方法。留在這裏以防萬一有人發現它有用。 – setec

+1

這將是我的第一選擇,但由於我不知道正則表達式是否支持負向預覽,我選擇了更簡單的解決方案。看,我用另一個非常正則表達式[答案](http://stackoverflow.com/a/18865739/1578604)= P – Jerry