-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 に答える