一致人名的正则表达式

Regex for consistent Person Name

我是正则表达式的新手!!!!

有专家可以帮我验证人名吗?

如果出现以下情况,我需要验证并抛出错误:

• 首字母重复 • 第一个字母中的数字 • TRIM

谢谢!!!!!

对于您描述的验证,正则表达式不是可行的方法。 (正则表达式是世界上我最喜欢的东西之一,所以这么说让我很痛苦。)相反,仅使用字符串 class 中的基本方法,您将获得更具可读性和可调试性的代码。

"duplicity in first letter"的意思是检查前两个字母是否相同?如果是这样,则验证可能会针对 "Aaron" 等有效名称抛出错误。 (取决于你如何处理案例。)如果这仍然是绝对必要的,请使用:
if (name.charAt(0).equalsIgnoreCase(name.charAt(1))) // Throw your error.

就修剪字符串而言,通常最好只使用字符串的 .trim() 方法来更正错误而不是验证失败。如果出于某种原因,您需要抛出错误,请使用:
if (name.length() != name.trim.length()) // Throw your exception.

最后,为了检查第一个字母是否是数字,你需要 charAt()Character.isDigit(),像这样:
if (Character.isDigit(name.charAt(0)) // Throw your exception.

(有关首字母为数字问题的更多信息,请参阅 this question。)