пятница, 1 июля 2011 г.

из тестового задания yandex'a

В общем нужно сделать валидацию по логину. Т.е. логин должен состоять из: первой латинской буквы, латинских букв и/или цифр, ".","-" и заканчиваться латинской буквой или цифрой.
Ограничение на длину: от 1 до 20 символов.
Собственно моя реализация:
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class RegexTestHarness {
    void checkLogin(String login) {
        Pattern pattern = Pattern
                .compile("(^([a-zA-Z]*)([\\d[.][-]]*)([a-zA-Z[0-9]]$))");
        Matcher matcher = pattern.matcher(login);
        boolean found = false;
        if (matcher.find() && login.length() <= 20) {
            found = true;
        }
        System.out.println("process...");
    }
    public static void main(String[] args) {
        new RegexTestHarness().checkLogin("log6in");
    }
}

Комментариев нет: