我希望正则表达式仅验证字母和空格。基本上这是为了验证全名。例如:Steve Collins 先生或 Steve Collins 我试过这个正则表达式。 “[a-zA-Z]+\.?”但是没有用。有人可以帮助我吗 p.s.我使用Java。
public static boolean validateLetters(String txt) {
String regx = "[a-zA-Z]+\\.?";
Pattern pattern = Pattern.compile(regx,Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(txt);
return matcher.find();
}
最佳答案
怎么样:
- 彼得·穆勒
- 弗朗索瓦·奥朗德
- 帕特里克·奥布莱恩
- 西尔瓦娜·科赫-梅林
验证名称是一个难题,因为有效名称不仅由字母 A-Z 组成。
至少你应该对字母使用 Unicode 属性并添加更多特殊字符。第一种方法可以是例如:
String regx = "^[\\p{L} .'-]+$";
\\p{L}
是 Unicode Character Property匹配任何语言的任何类型的字母
关于验证全名的 Java 正则表达式只允许空格和字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15805555/