创建一个正则表达式移动字符串

时间:2014-02-05 19:12:51

标签: regex replace sublimetext2

我需要找到并替换大量已编写的代码,我的文本编辑器使用正则表达式,但我不知道如何制作它们。我如何创建一个正则表达式来执行此操作:

从:

if ($q->param('wordOne[]') =~ m/wordTwo/)

到:

if (grep /wordTwo/, $q->param('wordOne[]')) { ... }

wordOne / Two可以是我的问题所在的任何单词,我不知道如何格式化我的正则表达式查找然后替换为我的格式

2 个答案:

答案 0 :(得分:0)

搜索:

if \(\$q->param\('([^']+)'\) =~ m/([^/]+)/\)

([^']+) param('') =~之间捕获文本。 ([^/]+)类似。有关捕获组的详细信息,请参阅here

替换为:

if (grep /\2/, $q->param('\1')) { ... }

\1\2 反向引用到捕获的文本。

输出:

if (grep /wordTwo/, $q->param('wordOne[]')) { ... }

示范:http://regex101.com/r/pB2jM1

答案 1 :(得分:0)

查找:(\$q->param\('.*?\[\]'\)) =~ m(/.*?/)

替换:grep \2, \1