2

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

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

PlayerTextDrawSetString(playerid,SSbank[playerid],strBank)

,

PlayerTextDrawSetString(SWant[someid],strWant)

PlayerTextDrawSetString(someid,SWant[someid],strWant)

等等

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

我尝试了不同的搜索字符串,但在所有情况下,我在 \1、\2 等上都一无所获。

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

4

2 回答 2

4

试试这些表达式:

搜索:

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

代替:

\1\3,\2\3
于 2013-05-28T02:28:40.577 回答
0

前两个示例有效。

搜索模式 1:

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

替换模式 1:

\1,SSbank[\1]

搜索模式 2:

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

替换模式 2:

\1,SWant[\1]

如果你有很多类似的模式,你可以这样做:

总替换搜索:

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

总替换字符串(是的,需要第一个斜线......可能是一个错误?):

\(\2,\1[\2]

看后面显然是坏了。

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

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

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

\2,\1[\2]
于 2013-05-28T02:54:31.553 回答