Так что мне нужно определить, что имя пользователя находится в формате firstname.lastname
Он не может иметь точек в начале или в конце, поэтому у него также не может быть пробелов. Im использует Perl5Util matcher для соответствия строкам в Java.Регулярное выражение для определения точки в начале или в конце
Каков наилучший способ сделать это в регулярном выражении?
Я использовал [A-Za-z0-9\\.]
, но, к сожалению, это определяет точки в начале и конце.
private static final String ALPHANUMERIC = "[A-Za-z0-9\\.]";
private static final String USERNAME_PATTERN = "/^" + ALPHANUMERIC + "+$/";
public static boolean isValidUsername(final String username) {
final Perl5Util userMatcher = new Perl5Util();
return userMatcher.match(USERNAME_PATTERN, username);
}
Будет ли символ трубы заставлять это разрешать '.foo', так как он соответствует второй альтернативе? – hexafraction
Это отвечает на вопрос, но не вопрос. – ruakh
@ruakh извините, я редактировал :) –