Building a Parser: Tokens 

rural_delivery:         /R(ural|\.)?\s*D(elivery|\.)?\s*/i
rd_number:              /[[:digit:]]{1,2}[CDHKO]?\b/
delivery_service_type:  /(P(riv)?(ate)?)?\.?\s*Bag/i | /(P[ .]?O[ .]?|post)?\s*Box/i
special_street_names:   /state\s+highway(\s+[[:digit:]]+)?/i 
word:                   /[[:alpha:]'()&-]+/
alphanumeric:           /[[:alpha:][:digit:]'()&-]+/
sep:                    /[,;\n]/