繁体   English   中英

德国地址 - 正则表达式

[英]German address - regular expression

我有一个网络电话,它给我以下回调作为字符串:

ZIPCODE | CITY | STREET NR | , |Phone Number with (Tel.) on the beginning

示例 1:

83661 Lenggries Marktstr. 14, Tel. 08042 91860

我想问一下正则表达式专业人士是否可以将它们分成几组? 我目前最好的尝试是:

([0-9]{5})(\s[a-zA-Z].+)(\s[a-zA-Z].+)(\s.*)(\s.[0-9]*)(\s.[0-9]*)

这导致:

  1. 83661
  2. 伦格里斯
  3. Marktstr。 14,
  4. 电话。
  5. 08042
  6. 91860

这适用于上面的示例,但不是稳定的正则表达式,例如:

例 2:

83620 Feldkirchen-Westerham Aiblinger Str. 7, Tel. 08063 8562

结果是:

  1. 83620
  2. 费尔德基兴-韦斯特勒姆·艾布林格
  3. 海峡。 7、
  4. 电话。
  5. 08063
  6. 8562

也许有人可以帮助我解决这个问题,我不知道如何解决它。 数据也不能以任何其他格式给出。 :(

提前问候和感谢马蒂亚斯

尝试这个:

^(\d{5})\s*([a-zA-Z].+)(?=\b\d+,)(\d+).*Tel.\s([\d ]+)$

参见 PCRE 中的演示

参见 C# 代码演示

在 Python 中检查它!

^[ \-0-9a-zA-ZäöüÄÖÜß.]+?\s+(\d+(\s?[a-zA-Z])?)\s*(?:$|\(|[A-Z]{2})\s+(\d{5})\s*(.+)

如果你想看演示! 点击这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM