3-й семестр / Лекции / 8 - Презентация
.pdfЦентрдистанционногообучения
Класс Matcher
•объект Matcher - это механизм, который интерпретирует шаблон и выполняет операции сопоставления с входной строкой.
•Как и класс Pattern, Matcher не определяет общедоступных конструкторов.
•Вы получаете объект Matcher, вызывая метод matcher () для объекта Pattern.
online.mirea.ru
Пример использованияЦентрдистанционногообучения
регулярных выражений
import java.util.regex.Pattern; public class RegexExample {
public static void isPasswordOK(String password) { if(Pattern.matches("admin", password)) {
System.out.println("Hi admin");
}
}
public static void main(String[] args) { isPasswordOK("admin"); }
}
online.mirea.ru
Центрдистанционногообучения
Пример: состоит ли строка только с цифр?
import java.util.regex.Pattern; public class RegexExample {
public static void ifNumber(String string) { if(Pattern.matches("[0-9]+", string)) {
System.out.println("Is number");
}else { System.out.println("not a number"); }
}
public static void main(String[] args) { ifNumber("admin");
ifNumber("123");
}
} online.mirea.ru
Центрдистанционногообучения
Класс PatternSyntaxException
•Объект PatternSyntaxException является непроверяемым исключением, которое указывает на синтаксическую ошибку в образце регулярного выражения.
online.mirea.ru
Центрдистанционногообучения
Правила написания
•. — точка это соответствие любому символу
•^строка — находит регулярное выражение, которое должно совпадать в начале строки
•строка$ — выражение, которое должно совпадать в конце строки
•[абв] — только буквы а или б или в
•[абв][яю] — только буквы а или б или в за которыми следуют я или ю
•[^abc] — когда символ каретки появляется в качестве первого символа в квадратных скобках, он отрицает шаблон. Этот шаблон соответствует любому символу, кроме a или b или c.
online.mirea.ru
Центрдистанционногообучения
Метасимволы
•\d — любая цифра — равнозначно [0-9]
•\D — только не цифра — равнозначно [^0-9]
•\s — символ пробела
•\w — символ слова — равнозначно [a-zA-Z_0-9]
online.mirea.ru
Центрдистанционногообучения
Квантификаторы
* — символ звездочки означает от ноля до бесконечности
+ — символ может встречаться от одного или несколько раз, сокращенно {1,}
? — встречается ни разу или один раз, знак вопроса это сокращение для {0,1}
{X} — символ встречается X раз
{X,Y} — символ встречается от X до Y раз.
online.mirea.ru
Центрдистанционногообучения
Дженерики (продолжение)
•Назначение обобщений
•Их особенности
•Стирание типов и миграционная совместимости
•Недостатки обобщений
•Ограничение
18 online.mirea.ru
Центрдистанционногообучения
Дженерики
Пример 1 – Определение обобщенных типов:
public interface List<E> { void add(E x); Iterator<E> iterator();
}
public interface Iterator<E> { E next();
boolean hasNext();
}
public interface Map<K,V> { V put(K key, V value);
}
online.mirea.ru
19
Центрдистанционногообучения
ПримерДже2нерики–определение(своего собственного) типа
дженерика:
public class GenericClass<T> { private T obj;
public void setObj(T t) {obj = t;} public T getObj() {return obj;} public void print() { System.out.println(obj);
}
}
Main:
GenericClass<Integer> g = new GenericClass<Integer>(); g.setObj(5); // auto-boxing
int i = g.getObj(); // auto-unboxing g.print();
online.mirea.ru
20