Regex 城市和街道名称的正则表达式
您好,我正在寻找2个正则表达式,其中描述: 1) 街道的有效名称 2) 城市的有效名称 有效街道名称为:Regex 城市和街道名称的正则表达式,regex,validation,expression,Regex,Validation,Expression,您好,我正在寻找2个正则表达式,其中描述: 1) 街道的有效名称 2) 城市的有效名称 有效街道名称为: 主干街 主干街 大街 新主干大街大酒店 梅斯特里特新酒店 梅森大街 圣亚历山大街 美国广播公司 约翰肯尼迪街 无效街道名称为: 主干道#+;:_*``?=)(/&%$§ 主干街道#+;:*'`?=)(/&%$§ 主干街2号 主干街 主干街§ 有效城市为: 爱丁 柏林 圣彼得堡 新柏林 巴德施勒马酒店 法兰克福美因酒店 纽伦堡 Ab 纽约市 无效城市为: 爱丁堡123 爱丁堡12
- 主干街
- 主干街
- 大街
- 新主干大街大酒店
- 梅斯特里特新酒店
- 梅森大街
- 圣亚历山大街
- 美国广播公司
- 约翰肯尼迪街
- 主干道#+;:_*``?=)(/&%$§
- 主干街道#+;:*'`?=)(/&%$§
- 主干街2号
- 主干街
- 主干街§
- 爱丁
- 柏林
- 圣彼得堡
- 新柏林
- 巴德施勒马酒店
- 法兰克福美因酒店
- 纽伦堡
- Ab
- 纽约市
- 爱丁堡123
- 爱丁堡123
- 圣安德鲁斯12
- 柏林,#+;:*'`?=)(/&%$§
- 柏林__
^[^\W\d_]+(?:[-\s][^\W\d_]+)*[.]?$
不幸的是,没有与这些示例相匹配的(其余的很好):
- 圣亚历山大街
- 圣彼得堡
如果您有更简单的解决方案,我很高兴了解一些新内容:-)要使其与
圣亚历山大街
和圣彼得堡
匹配,您只需在字母匹配模式后添加一个可选点:
^[^\W\d_]+\.?(?:[-\s][^\W\d_]+\.?)*$
# ^^^ ^^^
看
此外,在正则表达式中添加一个撇号也是有意义的:
^[^\W\d_]+\.?(?:[-\s'’][^\W\d_]+\.?)*$
请参阅。这听起来是个非常糟糕的主意。永远不要低估人们给事物起的各种各样的名字——例如,带有数字的街道名称实际上相当普遍。(以该书命名)将有一个排除“!”的问题。准备好继续使用
Frankfurt(Main)
和Heide(Holst)
,就像火车公司用来区分城市一样。此外,您似乎并不期望resund
,МСаа
,εσσαλονίκη
,İstanbul
和東京代码>。街道和门牌号有时还不够:可能需要添加像Hof 5
或Eingang 3
这样的加号来进一步区分。这一点很好!如何添加法兰克福(主要)
?事实上,我只是从德国挖出了一些名字。为了确定,我加入了一些异国情调的角色。然而,如果有一个简单的方法来添加所有这些字符,这将是great@PParker在某种程度上,你必须更清楚地定义你试图阻止的事情。通过尝试将每个可能的名字都列入白名单,你期望得到什么?我能做些什么来匹配Frankfurt(Main)
。@PParker^(?[^\W\d\u]+\.?)(?:[-\s]\(?[^\W\d\u]+\.?)*$
希望最后一个问题:你对匹配Frankfurt(Main)
的建议有效,但它也匹配纽约)
,哪个是错的