Is there a way to negate backreferences in a PHP preg_match test?

Code:
   .
   .
   .
1000| asdf34asdfasdf
1000| asdfadf43tasda34tfasdff
1000| qewrqwerqwt4er
1001| weklrjwelkr3jlkw
1001| welrjewrek455lwjrlkw
1001| trewewerwehklrjwelkrjlkw
1001| welrjewrek4hlwjrlkw
1001| fgfweklrjh4welkrjlkw
1001| welrjewh4reklwjrlkw
1002| weroiw5eewkjekwjw
1002| weroiweewkjekwjw
1002| we234roiweewkjekwjw
1002| weroiwe5ewkjekwjw
1002| weroiw324eewkjekwjw
   .
   .
   .
I want to be able to grab the data from the first instance of 1000 until the first instance of 1001, but using preg_match_all, continue to perform this for 1001, 1002, etc.

effectively producing an array containing:

Code:
[1]
1000| asdf34asdfasdf
1000| asdfadf43tasda34tfasdff
1000| qewrqwerqwt4er

[2]
1001| weklrjwelkr3jlkw
1001| welrjewrek455lwjrlkw
1001| trewewerwehklrjwelkrjlkw
1001| welrjewrek4hlwjrlkw
1001| fgfweklrjh4welkrjlkw
1001| welrjewh4reklwjrlkw

[3]
1002| weroiw5eewkjekwjw
1002| weroiweewkjekwjw
1002| we234roiweewkjekwjw
1002| weroiwe5ewkjekwjw
1002| weroiw324eewkjekwjw
Any ideas?