2012-01-20 5 views

ответ

10

так это должно сделать трюк для вас:

(.*)\[(.*)\] 

Это PHP синтаксис:

<?php 
$subject = "Name[value]"; 
$pattern = '/(.*)\[(.*)\]/'; 
preg_match($pattern, $subject, $matches); 
print_r($matches); 
?> 

Выход:

Array 
(
    [0] => Name[value] 
    [1] => Name 
    [2] => value 
) 

Наслаждайтесь.

1
<?php 

/** 
* Regex Quick Extraction - ignore $matches[0]; 
*/ 

$a = "Name[value]"; 

preg_match('/([^\]]*)\[([^\]]*)\]/',$a,$matches); 

if(count($matches) > 0) { 
    print_r($matches); 
} 

?> 
1

Попробуйте это:

<?php 
$a = "Name[value]"; 
preg_match('/(?<name>.*?)\[(?<value>.*[^\]]+)/', $a, $matched); 
echo '<pre>'; 
print_r($matched); 
?> 

выход:

Array 
(
    [0] => Name[value 
    [name] => Name 
    [1] => Name 
    [value] => value 
    [2] => value 
)