2014-08-27 66 views
1

我想創建一個正則表達式語句來通過我的代碼,並替換一個替代函數,採用不同的參數。正則表達式來替換另一個函數

我要替換的功能有這樣的簽名:

[標籤( 「一些文本」 工具提示ToolTipName的typeof(SomeClass的)。)]

,我想這與更換。

[工具提示(提示。ToolTipName

有人能幫助寫一個正則表達式語句,將檢測到的簽名和提取工具提示變量,以便我能做到這一點?

感謝

卡爾

+0

你試過一個查找/替換:'標籤( 「一些文本」,Tooltips.ToolTipName的typeof(通過'工具提示(Tooltips.ToolTipNam)'''someClass))'? – 2014-08-27 20:49:56

+0

查找並替換不會工作。我需要提取工具提示。 值並用ToolTip(Tooltips.ToolTipName)]替換整行。我知道這對於正則表達式非常簡單,但我非常生疏。 – 2014-08-27 20:53:38

+0

玩得開心。無論如何,我懷疑正則表達式應該這樣做。 – icbytes 2014-08-27 20:58:45

回答

0

你可以使用這個表達式:

.*Tooltips\.\w+.* 

Working demo

enter image description here

+0

謝謝我不得不作些微的改變,但它現在可以工作:)我使用。* Tooltips \。(\ w +)。*和ToolTip(Tooltips。$ 1)。 – 2014-08-27 21:05:26

+0

@KarlJones很棒,很樂意幫忙。 – 2014-08-27 21:06:56

0

我想這是你會用它來找到正則表達式:

"\\[Label\\([^\\]]*(Tooltips\\.[a-zA-Z0-9_]+)[^\\]]*\\)\\]" 

它說「字面支架和括號其次是標籤和文字開括號,然後可能除了右括號之外的任何東西,然後是工具提示,然後是關閉括號,然後是關閉括號

一旦找到它,使用組(0)匹配整個標籤和組(1)匹配「Tooltips.name」。

然後用「[Tooltip(」+ group(1)+「)]」替換組(0)。

如果您確定空白並且所有屬性都是單行的,您可能可以簡化或更精確。