正则表达式以匹配地址中的 ZIP

Regex to match ZIP in an address

我有地址块,例如

10004 South 152nd St. #A
Omaha
Nebraska
68138  United States

我正试图找到一个只匹配邮政编码而不是在街上取号的正则表达式。

我试过 \d+ 但它在街上找到了第一组数字。大约有 1000 个这样的地址。

请指教

谢谢

假设所有地址都是U.S。一个,您可以匹配后面跟 1+ 个空格和 United States 单词的数字。

\d+(?=\s+United States)

regex demo

(?=\s+United States) 正前瞻将需要空格和 United States 后 1+ 位 (\d+) 但不会 return匹配值中的该文本。或者,您可以使用捕获组:

(\d+)\s+United States

并获取第 1 组值。

使用 (?i) / /i 修饰符使正则表达式不区分大小写可能是个好主意。