Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3-й семестр / Лекции / 8 - Презентация

.pdf
Скачиваний:
57
Добавлен:
25.12.2020
Размер:
10.74 Mб
Скачать

Центрдистанционногообучения

Класс 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