用于地址字段验证的正则表达式

我正在尝试编写一个有助于地址的正则表达式,例如21 big walk way或21 St.Elizabeth’s drive我提出了以下正则表达式,但我不太热衷于如何合并所有字符(字母数字、空格破折号、句号、撇号)

“regexp=^[A-Za-z-0-9999999”

请参阅有关使用regex验证地址的问题的答案:
正则表达式街道地址匹配

问题是,街道地址的格式差异很大,很难对其进行编码。如果您试图验证地址,则很难根据其格式确定地址是否无效。
这将返回以下地址(北樱桃街253号),任何具有相同格式的内容:

\d{1,5}\s\w.\s(\b\w*\b\s){1,2}\w*\。

这允许1-5位数字代表门牌号、空格、字符后跟句点(代表N或S)、1-2个单词代表街道名称,并以缩写(如st.或rd)结尾

由于正则表达式用于查看事物是否符合标准或协议(由您定义),您可能不希望允许上面提供的地址,尤其是第一个带破折号的地址,因为它们不是非常标准。如果您愿意,您可以修改我上面的代码以允许它们——您可以添加

(?)

允许破折号但不需要破折号

另外,,http://rubular.com/ 这是一种快速且交互式的学习正则表达式的方法。请使用上面的地址进行尝试

发表评论