> > the \b boundary worked a treat - i'm just researching why it > worked now >
/(\d\d\d)(?=(?:\d\d\d)*\b)/g Find all groups of three digits < (\d\d\d) >, which are followed by < positive lookahead: (?= ) > 0, 3, 6, 9, ... Digits, followed by a word boundary < (?:\d\d\d)*\b > Word boundaries match at the end of the number, so because it only matches three digits groups which are followed by a number of digits which is divisible by 3, it doesnt find "123" in "1234567", but "234" (because it's followed by 3 digits followed by a word boundary) and "456" (because it's followed by 0 digits followed by a wod boundary) Btw, (?: ) is a non-capturing group, (?= ) is a positive lookahead. You can google for both... regards Claudius _______________________________________________ Flashcoders mailing list [email protected] http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

