如何在php中编写regex来更改内容


How to write regex in php for changing content?

我有一个.h文件,其中包含数百行代码。我想从变量中得到字符串。

string PackageToRun[][] = { {"M16.1","M16.1EP1","M16.2","M17"},
            {"Tv16.2","Tv17","Ta17","Ta16.2 MOpenTAS","Tv17.1","Ta17.1","T16.2","T16.2c"} };

是否有可能在PHP中编写一个Regex返回"M16.1","M16.1 ep1"…?!如果它是可能的,它会工作,如果我添加更多的字符串到PackageToRun ?!

嘿,这看起来有点像JSON!

<?php 
$file = '
string PackageToRun[][] = { {"M16.1","M16.1EP1","M16.2","M17"},
            {"Tv16.2","Tv17","Ta17","Ta16.2 MOpenTAS","Tv17.1","Ta17.1","T16.2","T16.2c"} };
';
if( preg_match('#string PackageToRun'[']'['] = ({.*});#is', $file, $matches)) {
  $data = json_decode(str_replace(array('{','}'), array('[',']'), $matches[1]));
  print_r($data);
}
输出:

Array ( 
    [0] => Array ( 
        [0] => M16.1 [1] => M16.1EP1 [2] => M16.2 [3] => M17 
    ) 
    [1] => Array (
        [0] => Tv16.2 [1] => Tv17 [2] => Ta17 [3] => Ta16.2 MOpenTAS 
        [4] => Tv17.1 [5] => Ta17.1 [6] => T16.2 [7] => T16.2c 
    ) 
)