亲爱的 Stackoverflowianers,亲爱的 RegEx-Gurus,
我在网上搜索用于检查德语全名的合理性的正则表达式模式。我发现了许多关于没有德语变音符号的模式的帖子......从所有这些帖子和我的逻辑理解中,我一起构建了这个模式:
^([A-ZÖÄÜ]{0,1})([-a-zäöüß\.']{2,30})( {1}|-{1})([A-ZÄÖÜ]{0,1})([a-zäöüß']{0,30})( {1}|-{1})?([A-ZÖÄÜ]{0,1})([a-zäöüß']{0,30})(( {0,1}|-{1})([A-ZÖÄÜ]{0,1})([a-zäöüß']{0,30}))+$
它应该匹配以下可能的变化(现在的状态)(预期):
- “汉斯·斯皮策”(比赛)(是)
- “汉斯·斯皮策”(比赛)(是)
- “Hans-peter Österreicher”(比赛)(是)
- “Anna-Marie Pelzer-Hahnenkamp 博士”(比赛)(是)
- “Dipl-Ing. Gerhard Meyer”(不匹配)(否)
- “Lisa-Maria Brandner-Kapeller”(比赛)(是)
- “约翰·麦康纳”(比赛)(是)
- “约翰”(不匹配)(是)
- “约翰”(匹配)(无)
- “Osama Al Sawarri”(比赛)(是)
- “弗兰克 F。” (不匹配)(是)
- “Johann F. Kerner”(不匹配)(是)
- “Johann F Kerner”(比赛)(无)
- “李现”(匹配)(是)
- 《李现》(不配)(无)
- 《离赋》(不配)(无)
- “李富”(匹配)(是)
(现在状态意味着它现在是否匹配,预期意味着它是否应该匹配)
我需要在 PHP 中将此模式用于 preg_match。
如果有人可以帮助我完善这种模式,我将非常感激。一旦它接近完美,我会将它添加到http://gskinner.com/RegExr/以供公众使用(他们有 2 或 3 个全名检查,但它们运行不正常或根本不运行)。
谢谢。提前为您提供帮助...
最好的问候,英格玛