一致人名的正则表达式
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。)
我是正则表达式的新手!!!!
有专家可以帮我验证人名吗?
如果出现以下情况,我需要验证并抛出错误:
• 首字母重复 • 第一个字母中的数字 • 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。)