虽然我知道匹配街道地址永远不会是完美的,但我希望创建几个在大多数情况下都会接近的正则表达式语句。
我正在尝试突出显示一个地址。我不擅长正则表达式,我试图接近,但有人可以帮助我了解如何使它变得更好吗?
string:
上午 6 点 - 晚上 11 点,帕尔马索拉小学,西北第五大道 6806 号,布雷登顿,佛罗里达州 34209 来找靠近 dsfsd sa fsa fasdf asfsds 5001 西你妈妈不住在这里,我的 2005 年福特护林员,
正则表达式 1:
/\s+(\d{2,5}\s+)(?![a|p]m\b)(([a-zA-Z|\s+]{1,5}){1,2}) ?([\s|\,|.]+)?(([a-zA-Z|\s+]{1,30}){1,4})(court|ct|street|st|drive|dr |lane|ln|road|rd|blvd)([\s|\,|.|\;]+)?(([a-zA-Z|\s+]{1,30}){1,2} )([\s|\,|.]+)?\b(AK|AL|AR|AZ|CA|CO|CT|DC|DE|FL|GA|GU|HI|IA|ID|IL|IN |KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NC|ND|NE|NH|NJ|NM|NV|NY|OH|OK|OR|PA|RI|SC |SD|TN|TX|UT|VA|VI|VT|WA|WI|WV|WY)([\s|\,|.]+)?(\s+\d{5})?([\s |\,|.]+)/i
(有时只有街道和城市,但没有州或邮编)
正则表达式 2:
/\b(\d{2,5}\s+)(?![a|p]m\b)(NW|NE|SW|SE|north|south|west|east|n|e|s|w )?([\s|\,|.]+)?(([a-zA-Z|\s+]{1,30}){1,4})(court|ct|street|st|drive| dr|lane|ln|road|rd|blvd)/i