Я пытаюсь попрактиковать квантификатор звездочки * на простой строке, но, хотя у меня есть только две буквы, результат содержит третье совпадение.
<code><?php
$x = 'ab';
preg_match_all("/a*/",$x,$m);
echo '<pre>';
var_dump($m);
echo '
';?>
результат получился:
array(1) {
[0]=>
array(3) {
[0]=> string(1) "a"
[1]=> string(0) ""
[2]=> string(0) ""
}
}
Насколько я понимаю, он сначала соответствовал a, а затем ничего не соответствовало, когда b, поэтому результат должен быть
array(1) {
[0]=>
array(2) {
[0]=> string(1) "a"
[1]=> string(0) ""
}
}
Так что же такое третий матч?