I'm struggling to see how a regex would work, either. It's a database lookup, a regex that matches only 74k numbers out of every possible valid phone number in the UK would be absurd.
edit: checked the comments of the original post and they apparently used perl to produce a 11kb regex.
A little regex to remove out anything non-digit would leave you with just the numbers to compare to the numbers in the list.