PHP正则表达式:括号内的字符串



我有一个字符串:

$a = "Name[value]";

如何将字符串的"Name"one_answers"value"部分从该字符串转换为变量?我不太擅长正则表达式。谢谢

所以这应该对你有用:

(.*)[(.*)]

这是PHP语法:

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

输出:

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

享受吧。

<?php
/**
 * Regex Quick Extraction - ignore $matches[0];
 */
$a = "Name[value]";
preg_match('/([^]]*)[([^]]*)]/',$a,$matches);
if(count($matches) > 0) {
    print_r($matches);
}
?>

试试这个:

 <?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
)

最新更新