2012-01-20 16 views
1

私は、文字列があります。PHP正規表現:内側ブラケットから文字列

$a = "Name[value]"; 

私はこの文字列から変数に文字列の「名前」と「値」部分を取得するにはどうすればよいですか?私は正規表現でそれほど優れていません。ありがとう!

答えて

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 
) 
関連する問題