You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python正则表达式匹配人名+美国地址仅匹配部分案例问题排查

问题原因

你编写的正则采用固定段数硬匹配规则,没有兼容美国地址里门牌号后可能存在的单字母方向前缀(如W、E、S、N分别代表东西南北):

  • 第一个示例的地址结构为「人名+门牌号+街道名+街道类型+单元类型+单元号+城市+州+邮编」,刚好匹配你预设的段数,可正常校验通过
  • 第二个示例在门牌号和街道名之间多了代表西向的W字段,总段数超出你预设的数量,因此匹配失败

修正后正则

^[A-Z]+ [A-Z]+ [0-9]+ (?:[A-Z] )?[A-Z]+ [A-Z]{2,4} [A-Z]{2,4} [0-9]+ [A-Z]+ [A-Z]{2} [0-9]{5}-[0-9]{4}$

调整说明

  • 新增(?:[A-Z] )?可选匹配段:放在门牌号匹配规则后,可匹配0次或1次「单大写字母+空格」的方向前缀,同时兼容两种地址结构
  • 把门牌号的长度限制从[0-9]{3,4}调整为[0-9]+,适配更多长度的门牌号场景,避免后续合法短门牌号/长门牌号被误拦截

内容的提问来源于stack exchange,提问作者user16987274

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 08:36:03