How to create Multiples Match in Dialplan?

Hi, I need and advice for this:

As you know, every country in united states have it own zip codes areas,
I want to know what solution can fix this case:

Imagine you have a list of 500 Zip codes, where each one is different.

Then, I ask you to route each one of that zip codes via Trunk1.
Then the rest of zip codes, can pass normally via Trunk2.
How do you do it?

You should have to crear a route to each one of that zip codes? Like

exten=>305,1,Dial(…Trunk1)
exten=>011,1,Dial(…Trunk1)
exten=>303,1,Dial(…Trunk1)

?? Woww! Omg, maybe there is a way to simplfy this. What you think is the best way to do this?

You can make a set of rules (one for every zip code), or you can sum all the rules up in a single rule. You can do this with Asterisk dialplan rules (regular expressions). Have a look at this page for examples.