我对正则表达式很新,并试图编写一个与每个州的邮政编码相匹配的正则表达式,但是很难。例如,阿拉斯加的邮政编码介于99501和99950之间,但这不起作用:
99(5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)
因为它也匹配99951.任何人都已经这样做了,或者介意至少帮助我解决这个模式?以下是每个州的邮政编码范围: http://www.structnet.com/instructions/zip_min_max_by_state.html
答案 0 :(得分:1)
regexp对于这个问题是一个糟糕的选择,但我认为这个可能会完成工作:
99(5(0[1-9]|[1-9]\d)|[6-8]\d\d|9([0-4]\d|50))