.NET 正确地抱怨嵌套量词。*
并且+
是多余的,删除一个。
^[A-Z. ]*([a-zA-Z])*$
此外,*
在这里使用似乎相当不直观,除非您真的想接受空输入。实际上,您不希望至少有一个角色吗?(我们也可以删除多余的括号,因为分组没有意义。)
^[A-Z. ]+[a-zA-Z]+$
最后,它接受几乎所有内容,例如“BAR... FOOxyz”。您可能想要更精确:
^([A-Z]\. )+[a-zA-Z]+$
现在第一组明确匹配一个首字母(即一个大写字母后跟一个点和一个空格),它匹配多个,但至少一个。