2014-08-27 61 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)。

如果您确定空白并且所有属性都是单行的,您可能可以简化或更精确。