我的代码无法输入点。有人可以帮我吗?
public boolean isValidLastName(final String lastname){
Pattern pattern;
Matcher matcher;
final String LASTNAME_PATTERN = "[a-zA-Z]+\\.?";
pattern = Pattern.compile(LASTNAME_PATTERN);
matcher = pattern.matcher(lasname);
return matcher.matches();
}
答案 0 :(得分:0)
点应放在括号内。 使用这个:
[ .a-zA-Z]+
您也可以尝试使用方括号中的\ w \ d替换,但是我不确定Java是否支持。
答案 1 :(得分:-1)
尝试使用此字母代替[a-zA-Z。\ s] +-允许使用字母,点或空格。
答案 2 :(得分:-1)
您不应该在Java的String中使用双“ \”(在特殊字符之前),而只需将点放在方括号中。 您随时可以检查正则表达式的工作方式https://www.regextester.com 您可以在文档中了解有关正则表达式模式的更多信息:https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html