我有一个字符串:
$a = "Name[value]";
如何从字符串中将字符串的'Name'和'value'部分变为变量?我在正则表达式上并不那么出色。谢谢!
答案 0 :(得分:10)
所以这应该适合你:
(.*)\[(.*)\]
这是PHP语法:
<?php
$subject = "Name[value]";
$pattern = '/(.*)\[(.*)\]/';
preg_match($pattern, $subject, $matches);
print_r($matches);
?>
输出:
Array
(
[0] => Name[value]
[1] => Name
[2] => value
)
享受。
答案 1 :(得分:1)
<?php
/**
* Regex Quick Extraction - ignore $matches[0];
*/
$a = "Name[value]";
preg_match('/([^\]]*)\[([^\]]*)\]/',$a,$matches);
if(count($matches) > 0) {
print_r($matches);
}
?>
答案 2 :(得分: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
)