回答
对于你描述的验证,正则表达式不是要走的路。 (而正则表达式是我最喜欢的东西之一,所以我很难说。)相反,通过使用String类的基本方法,您将获得更多可读,可调试的代码。
通过“在第一个字母口是心非”,你的意思是检查,如果前两个字母是一样的吗?如果是这样,那么验证可能会为“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)。
真棒......谢谢你的家伙!所以我看起来错了(Regex)哈哈 – Lucas
- 1. 人名正则表达式PHP
- 2. MongoDB的正则表达式不一致
- 3. Python的正则表达式不一致
- 4. Python正则表达式lookbehind不一致?
- 5. 正则表达式解析出一个人的名字?
- 6. 正则表达式(正则表达式)
- 7. 正则表达式(正则表达式)
- 8. Python的正则表达式 - 换人
- 9. 正则表达式\ X96般的人物
- 10. 正则表达式的开发人员
- 11. 正则表达式正则表达式返回的值正则表达式
- 12. 正则表达式“包含”另一个正则表达式
- 13. [正则表达式]为一些正则表达式大于10000
- 14. 用另一个正则表达式替换正则表达式
- 15. 正则表达式从另一个正则表达式
- 16. 正则表达式正则表达式正则表达式使用正则表达式,但不是与Python
- 17. 正则表达式到姓名。姓名
- 18. PHP-MySQLi替换为正则表达式/正则表达式/正则表达式
- 19. 正则表达式正则表达式模仿正则表达式
- 20. JS人类正则表达式
- 21. 正则表达式和野生人物
- 22. 正则表达式+人工智能
- 23. 正则表达式 - 私人标签RFC5646
- 24. 解析“家庭”的名字进入人们正则表达式
- 25. JS正则表达式名称模式
- 26. 正则表达式转换的国家名单为正则表达式搜索
- 27. 返回文件名无正则表达式的正则表达式
- 28. Java正则表达式的文件名
- 29. 四个名字的正则表达式
- 30. Perl的主机名正则表达式
转到http://regex101.com/并尝试一些想法,然后寻求帮助。另外,测试通过,而不是失败。例如,测试通过的名称。 – 2016-06-10 19:18:42
你有什么反对被称为例如Aakansha的人?也许看看[Falsehoods Programmers Believe About Names](https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/)。 –
@AndyTurner那个链接太棒了。谢谢,Aandy。 Jjames,欢迎来到詹姆斯坦纳, –