How to return only named groups with preg_match or preg_match_all?

前端 未结 9 1419
余生分开走
余生分开走 2020-12-09 10:51

Example:

$string = \"This is some text written on 2010-07-18.\";
preg_match(\'|(?\\d\\d\\d\\d-\\d\\d-\\d\\d)|i\', $string, $arr_result);
print_r(         


        
9条回答
  •  无人及你
    2020-12-09 11:09

    You could use T-Regx and go with group() or namedGroups() which only returns named capturing groups.

    \d\d\d\d-\d\d-\d\d)', 'i')->match($subject)->first(function ($match) {
    
        $date = $match->get('date'); 
        // 2010-07-18
    
        $groups = $match->namedGroups(); 
        // [
        //   'date' => '2010-07-18'
        // ]   
    });
    

提交回复
热议问题