dongzhang0243 2016-10-05 12:02
浏览 18
已采纳

如何在php中编写正则表达式来更改内容?

I have a .h file which contains hundred of lines code. I want to get back the strings from the variable.

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

Is it possible to write a Regex in PHP which get back "M16.1","M16.1EP1" ... ?! If it's possible, will it work if I'm adding more string to PackageToRun ?!

  • 写回答

1条回答 默认 最新

  • douzou8074 2016-10-05 14:41
    关注

    Hey that sort of looks like 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);
    }
    

    Output:

    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 
        ) 
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 怎样才能让鼠标沿着线条的中心线轨迹移动
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?