NetBeans用文本中的另一个单词替换单词

时间:2015-08-06 14:39:23

标签: php regex codeigniter netbeans

我是PHP编码的新手,我在代码中犯了一个错误。 我喜欢400次出现的方法,我想改变,但我不知道如何。

我听说过正则表达式,但我不能适用于这种情况,因为我不太了解RegExp。

我的代码中有这个,例如

<?php echo $lang['extension_not_allowed'] ?>

我想用$ lang更改$ this-&gt; lang('')的所有结果,例如

<?php echo $this->lang('extension_not_allowed') ?>

在NetBeans中使用Ctrl + Shift + H(全局替换)有什么办法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用以下正则表达式替换:

 (<\?php.*?)\$lang\[([^]]*)]

替换:

$1\$this->\$lang($2)

如果(<\?php.*?)可能出现在没有$lang的行上,则删除<?php部分:

 \$lang\[([^]]*)]

并替换为"\$this->\$lang($1)"

请参阅demo

几点说明:

  • (<\?php.*?) - 匹配并捕获文字<?php以及除换行符以外的0个或多个字符,尽可能少(使用.*?
  • \$lang\[ - 按字面意思匹配$lang[(请注意必须转义特殊的正则表达式字符)
  • ([^]]*) - 匹配并捕获除]以外的0个或多个字符(我们使用的是字符类[...]
  • ] - 文字]