如何编写preg_match,以匹配字符串*My*
?
这不起作用:
$ptn = "/\*(.*)\*/";
$str = "*My*";
preg_match($ptn, $str, $matches);
print_r($matches);
因为它输出:
Array
(
[0] => *My*
[1] => *My*
)
而不是:
Array
(
[0] => *My*
[1] => My
)
答案 0 :(得分:4)
在这里工作正常:
php > preg_match('/\*(.*)\*/', '*My*', $matches);
php > var_dump($matches);
array(2) {
[0]=>
string(4) "*My*"
[1]=>
string(2) "My"
}
请记住,$matches
数组将始终包含位置0中的整个匹配字符串,然后单独匹配插槽1 +。