/'s*([A-ZÖÜÄ]{1}([a-zöüä]){2,15})(([-| von ]?[A-ZÖÜÄ]{1}[a-zöüä]{2,15})*?)/u
这应该不接受任何数字,但它确实接受了,奇怪的是,它对前三个字符(不包括空格)有效。
这:根据代码Pe2不被接受。没关系但是Pet2被录取了,我不知道为什么。实际上,我根本不想让任何数字通过。
任何帮助都非常感谢。
您缺少^
和$
锚,我很确定[-| 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
我试了这个:
^'s*([A-ZÖÜÄ]{1}([a-zöüä]){2,15})(([-| von ]?[A-ZÖÜÄ]{1}[a-zöüä]{2,15})*?)$
Pt2 => not OKPet2 => not OK
你可以直接在线尝试你的正则表达式。还有一个调试器和一些文档。非常有用:http://regex101.com/
希望对你有帮助;)