不知道這是可能的,但我試圖做一個動態查找/ IntelliJ IDEA的替換...正則表達式:如何引用子表達式中多次出現替換字符串
在我的Java項目中有包含字符串連接這樣幾種方法:
return "[foo=" + foo + ", bar=" + bar + ", this=" + this + ", that=" + that + "]";
我寫了下面的正則表達式找到所有這些現象:
return (\"[^\"]+\")+((\s\+\s)+([\pL\pN\r\s]*)+(\s\+\s)+(\"[^\"]+\"))*;
現在我要替換這些級聯具有同等String.format()
的回報,這樣的:
return String.format("[foo=%s, bar=%s, this=%s, that=%s]", foo, bar, this, that);
我更換正則表達式看起來像這樣至今:
return String.format\($1$6,$4\);
...但幾件事情正在發生,還有一些棘手的要求。
$4
是空的。$6
僅返回最後一次出現(\"[^\"]+\")
。- 我需要爲每個發生的
$4
生成「,$ 4」。 - 我需要剝去
$1
和$6
中的引號,並在任何「=」符號後附加「%s」。
這可能嗎?任何想法如何做到這一點,允許串聯任意數量的字符串?
在此先感謝!
以下是IntelliJ文檔的鏈接:http://www.jetbrains.com/idea/webhelp/finding-and-replacing-text-in-file.html –