(Notepad ++)用正则表达式替换:FixedText(xxx [yyy],等等)到FixedText(yyy,xxx [yyy],等等)

时间:2013-05-28 02:18:25

标签: regex

很抱歉不知道正则表达式的基础知识并问这个问题,但我自己也无法理解。

我需要替换所有表达式PlayerTextDrawSetString(SSbank[playerid],strBank)

PlayerTextDrawSetString(playerid,SSbank[playerid],strBank)

PlayerTextDrawSetString(SWant[someid],strWant)

PlayerTextDrawSetString(someid,SWant[someid],strWant)

我可以使用PlayerTextDrawSetString+\(+.+\[+.+\]找到这样的表达式,但我无法用它们替换它们(\ 1,\ 2,\ 3等返回空符号)。

我尝试了不同的搜索字符串,但在所有情况下我都没有得到\ 1,\ 2等等。

你能为我写正确的正则表达式吗? 提前感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

尝试以下表达式:

搜索:

(PlayerTextDrawSetString\()(\w+\[)(\w+)

替换:

\1\3,\2\3

答案 1 :(得分:0)

前两个例子有效。

搜索模式1:

SSbank\[([^\]]+)\]

替换模式1:

\1,SSbank[\1]

搜索模式2:

SWant\[([^\]]+)\]

替换模式2:

\1,SWant[\1]

如果你有很多这些类似的模式,你可以全力以赴:

总替换搜索:

\((\w+)\[([^\]]+)\]

Total Replacement String(是的,需要第一个斜线......可能是一个错误?):

\(\2,\1[\2]

看后面显然已经破了。

我试图给Notepad ++一个正面背后的镜头,但即使匹配发生,替换也会失败。这是模式:

(?<=\()(\w+)\[([^\]]+)\]

我尝试替换(不替换Notepad ++ v6.3.2中的任何内容):

\2,\1[\2]