/\s*([A-ZÖÜÄ]{1}([a-zöüä]){2,15})(([-| von ]?[A-ZÖÜÄ]{1}[a-zöüä]{2,15})*?)/u
这不应该接受任何数字,但确实如此,它适用于前三个字符(不包括空格)。
这:根据代码不接受Pe2。没关系 - 但是:Pet2被接受了,我找不到原因。 实际上我根本不想要任何数字。
非常感谢任何帮助。
答案 0 :(得分:1)
您错过了^
和$
锚点,我非常确定[-| von ]?
与您认为的不匹配,我想你想要(?:-| von )?
你的正则表达式应该是:
/^\s*[A-ZÖÜÄ][a-zöüä]{2,15}(?:(?:-| von )?[A-ZÖÜÄ][a-zöüä]{2,15})*$/u
我认为分隔符不是可选的,所以:
/^\s*[A-ZÖÜÄ][a-zöüä]{2,15}(?:(?:-| von )[A-ZÖÜÄ][a-zöüä]{2,15})*$/u
答案 1 :(得分:-1)
我试过这个:
^\s*([A-ZÖÜÄ]{1}([a-zöüä]){2,15})(([-| von ]?[A-ZÖÜÄ]{1}[a-zöüä]{2,15})*?)$
Pt2 =>不好 Pet2 =>不行
您可以直接在线试用您的正则表达式。还有一个debuger和一些文档。非常有用:http://regex101.com/
希望有所帮助;)