-2

如何编写 preg_match 来匹配字符串*My*

这不起作用:

$ptn = "/\*(.*)\*/";
$str = "*My*";
preg_match($ptn, $str, $matches);
print_r($matches);

因为它输出:

Array
(
    [0] => *My*
    [1] => *My*
)

代替:

Array
(
    [0] => *My*
    [1] => My
)
4

1 回答 1

4

在这里工作正常:

php > preg_match('/\*(.*)\*/', '*My*', $matches);
php > var_dump($matches);
array(2) {
  [0]=>
  string(4) "*My*"
  [1]=>
  string(2) "My"
}

请记住,该$matches数组将始终在位置 0 中包含整个匹配的字符串,然后在插槽 1+ 中包含单个匹配项。

于 2013-04-25T17:14:45.200 回答