可以区分小数和'-'
$str = "1995-25";
$pat = sscanf( $str , "%d-%d);
print_r($pat);
还可以区分第一个'-'和后面的字符串
$str = "-of";
$pattern = sscanf ( $str , "-%s" );
print_r ( $pattern );
但是当涉及到在字符串中间表示“-”时 它假设 '-' 作为字符串 更令人惊讶的是,第一个 %s 读到了最后 甚至将 4 视为字符串
$str = '-of-america-4';
$pat = sscanf ($str , "-%s-%s-%d");
print_r($pat);
// outputs [0] => of-america-4
%s
是贪婪匹配,你可以使用%[^-]
<?php
$str = '-of-america-4';
$pat = sscanf($str , '-%[^-]-%[^-]-%d');
print_r($pat);
Array
(
[0] => of
[1] => america
[2] => 4
)