what is your problem? do you get one large match instead of several small? this is usually due to greedy matching, e.g. if you use (.*) or (.+) to match what is between <url> and </url> (using angular brackets to avoid the forum parsing it).
if so, two ways around it:
(.*?) ungreedy matching, only supported by preg regexp as far as I know.
([<]) or ([[]) with square brackets, which is more efficient but fails if tags are nested.