Jan Reiter wrote:
> Good Afternoon.
> This shouldn't be too complicated, but I can't come up with a solution for
> the problem right now. It's about RegEx in PHP (5.2)
> Is there a way to capture ALL sub elements of an expression like
> preg_match('@a(?[0-9])*b@' ,"a2345678b" , $matches);   ??
> This would produce (below) whereas I'd like to get all the elements (2-8) as
> an array entry each . ([1]=>2, [2]=>3 .)

AFAIK, you would need to know how many digits are there and use that
many capture groups (), because you only have one capture group which
will be overwritten each iteration.  An alternative for your simple
example above would be to do:

preg_match('@a([0-9]+)b@' ,"a2345678b" , $matches);



To do this multiple times in a large string you would need:

preg_match_all('@a([0-9]+)b@' ,"a2345678b" , $matches);

foreach($matches[1] as $match) {


PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to