正则表达式查找字符串,解析下一个字符串以在开头和结尾添加字符

regex find string, parse next string to add character in beginning and end of

我必须更改几千行代码。寻找快速方法 ;)

Code in PHP $lang[_SAVE] to be altered to $lang['_SAVE']

我需要找到 [_ 并将其替换为 ['_ 然后将下一个 ] 替换为 ']

来自 debian cmd 行的正则表达式将是首选 ;)

编辑:我需要用 '<string between $lang[_ and ]>'

替换 $lang[_] 之间的内容

已修复:

<?php
$it = new RecursiveDirectoryIterator(".");

// Loop through files
foreach(new RecursiveIteratorIterator($it) as $file) {
  if ($file->getExtension() == 'php') {
    $content=file_get_contents($file);
    $found = preg_replace('/(?<=lang\[)(_.*?)(?=])/', "''", $content);
    file_put_contents($file, $found);
  }
}
?>

https://www.phpliveregex.com/#tab-preg-replace

的帮助下

它递归遍历文件并查找 lang[_ 和下一个 ] 之间的内容,并将该值替换为 '<found value>'