正则表达式将 $_POST['x'] 转换为 $_x

REGEX converting $_POST['x'] to $_x

有人可以帮助我如何制作正则表达式来转换所有字符串,例如:

$_POST['key']

收件人:

$_key

这不会在代码本身中使用,但我会在我的 IDE 中使用它以方便批量更改。

谢谢。

您应该可以执行以下操作:

$_[A-Z].*\['(\w.*)']

替换为:

$_

使用以下数据在 Sublime Text 3 上测试:

$_POST['key']
$_POST['asd']
$_POST['ser']
$_POST['fsdf']
$_POST['kefas23y']
$_GET['key']
$_GET['asd']
$_GET['ser']
$_GET['fsdf']
$_GET['kefas23y']

输出:

$_key
$_asd
$_ser
$_fsdf
$_kefas23y
$_key
$_asd
$_ser
$_fsdf
$_kefas23y

解释:

$ - 转义美元符号,因为它是一个正则表达式特殊字符

[A-Z].* - 假设只有 PHP 超全局变量被替换,寻找任意数量的大写字母

\['(\w.*)'] - 在单引号和括号内创建一组任意数量的单词字符

$_ - 用文字 $_ 替换文本,然后是行中匹配的第一组 - 括号中的文本