使用pnotepad中的regex替换替换带下划线的空格

时间:2012-10-05 02:25:40

标签: regex replace programmers-notepad

在pnotepad中,它具有正则表达式替换功能。

我想要做的是用下划线替换POST变量中的所有空格。

例如,假设我有一个名为$_POST['Apples And Pears']的帖子变量。

我正在尝试找出正则表达式替换以将其转换为$_POST['Apples_And_Pears']

任何帮助都很棒,我知道如何使用所有空格,但不知道只在POST变量中的空格。

我需要这个,因为我在PHP文件中有很多POST变量,我需要执行此操作。

1 个答案:

答案 0 :(得分:2)

我不确定pnotepad的语法,但是从a cursory glance来看,pnotepad看起来像PCRE一样,所以请替换它:

((?<=\$_POST\[[^[]*) )

用这个:

_

(我添加了一组不必要的括号,只是为了显示最后的空格。)

这使用一个积极的lookbehind断言来说,“如果我是一个空格角色而在我后面是一串非[字符,前面有$_POST[,那么就替换我。”

如果这不起作用,问题可能就像许多引擎一样,pnotepad不支持任意长度的lookbehind断言。在这种情况下,你必须替换它:

(?:(\$_POST\[[^[]*) )

用这个:

$1

并手动不断更换,直到无法再进行更换。