|
Posted by John Dunlop on 05/22/05 13:09
yawnmoth wrote:
> <?
> echo preg_replace('#.*?b#','','aabbc');
> ?>
>
> Based on my understanding of the quantifer minimizer, the output should
> be bc. However, running this results in c being outputted.
Your understanding of <?> is probably spot on but you've just
overlooked the Kleene Star. There's in fact two replacements
here. The first is the one you expected, the replacement of
<aab> with the empty string. The second is the replacement of
<b> - the second <b>. The quantifier <*> means zero or more;
and so in the second replacement, <.*> matches nothing while
the <b> matches.
--
Jock
[Back to original message]
|