C# 德语地址-正则表达式
我有一个webcall,它以字符串形式为我提供以下回调:C# 德语地址-正则表达式,c#,regex,C#,Regex,我有一个webcall,它以字符串形式为我提供以下回调: ZIPCODE | CITY | STREET NR | , |Phone Number with (Tel.) on the beginning 例1: 83661 Lenggries Marktstr. 14, Tel. 08042 91860 我想问一下regex专业人士,是否有可能将他们分成小组? 我目前最好的尝试是: ([0-9]{5})(\s[a-zA-Z].+)(\s[a-zA-Z].+)(\s.*)(\s.[0-9]*
ZIPCODE | CITY | STREET NR | , |Phone Number with (Tel.) on the beginning
例1:
83661 Lenggries Marktstr. 14, Tel. 08042 91860
我想问一下regex专业人士,是否有可能将他们分成小组?
我目前最好的尝试是:
([0-9]{5})(\s[a-zA-Z].+)(\s[a-zA-Z].+)(\s.*)(\s.[0-9]*)(\s.[0-9]*)
其结果是:
83620 Feldkirchen-Westerham Aiblinger Str. 7, Tel. 08063 8562
结果:
^(\d{5})\s*([a-zA-Z].+)(?=\b\d+,)(\d+).*电话号码([\d]+)$
参见PCRE中的
请参见C#Code尝试以下方法:
^(\d{5})\s*([a-zA-Z].+)(?=\b\d+,)(\d+).*电话号码([\d]+)$
参见PCRE中的
请参见C#Code如果城市和地址都包含空格怎么办?您如何知道前者的终点和后者的起点?这是不可能的,因为城市和街道可能包含空格(正如@silkfire所写).理论上,您可以使用邮政编码数据库来查找城市名称,但即使这种方法在实践中也无法很好地工作,因为如果城市包含用户输入,则可能包含打字错误或其他数据(例如“海德堡-维布林根”).还要注意,有些地址没有街道名称,街道名称没有编号,街道名称部分包含编号(曼海姆语)等。正则表达式似乎不适合地址验证。城市匹配不起作用的示例:美国缅因州法兰克福。如果城市和地址都包含空格怎么办?你怎么知道前者结束,后者开始?这不可能,因为城市和街道可能包含空格(正如@silkfire所写).理论上,您可以使用邮政编码数据库来查找城市名称,但即使这种方法在实践中也无法很好地工作,因为如果城市包含用户输入,则可能包含打字错误或其他数据(例如“海德堡-维布林根”)。还请注意,有些地址没有街道名称,街道名称没有数字,街道名称部分包含数字(在曼海姆语中)等。正则表达式似乎不适合进行地址验证。城市匹配不起作用的示例:法兰克福美茵河畔