城市和街道名称的正则表达式

Regex for city and street name

您好,我正在寻找 2 个描述:

的正则表达式

1) 街道的有效名称

2) 一个有效的城市名称

有效的街道名称是:

无效的街道名称是:

有效城市为:

无效的城市是:

我目前的解决方案非常接近但不完美:

城市和街道名称:

^[^\W\d_]+(?:[-\s][^\W\d_]+)*[.]?$

不幸的是,这些示例不匹配(其余的工作正常):

如果你有更简单的解决方案,我很乐意学习某事。新的! :-)

要匹配St. Alexander StreetSt. Petersburg,你只需要在字母匹配模式后添加一个可选的点:

^[^\W\d_]+\.?(?:[-\s][^\W\d_]+\.?)*$
#         ^^^                 ^^^

参见regex demo

此外,在正则表达式中添加一个撇号可能有意义:

^[^\W\d_]+\.?(?:[-\s'’][^\W\d_]+\.?)*$

参见regex demo