我需要找到并替换大量已编写的代码,我的文本编辑器使用正则表达式,但我不知道如何制作它们。我如何创建一个正则表达式来执行此操作:
从:
if ($q->param('wordOne[]') =~ m/wordTwo/)
到:
if (grep /wordTwo/, $q->param('wordOne[]')) { ... }
wordOne / Two可以是我的问题所在的任何单词,我不知道如何格式化我的正则表达式查找然后替换为我的格式
答案 0 :(得分:0)
搜索:
if \(\$q->param\('([^']+)'\) =~ m/([^/]+)/\)
([^']+)
在param('
和') =~
之间捕获文本。 ([^/]+)
类似。有关捕获组的详细信息,请参阅here。
替换为:
if (grep /\2/, $q->param('\1')) { ... }
\1
和\2
反向引用到捕获的文本。
输出:
if (grep /wordTwo/, $q->param('wordOne[]')) { ... }
答案 1 :(得分:0)
查找:(\$q->param\('.*?\[\]'\)) =~ m(/.*?/)
替换:grep \2, \1