Содержание
- 2. Определение Формальный язык поиска и осуществления манипуляций с подстроками в тексте. Основан на использовании метасимволов. Kolesnikov
- 3. Символы x ==> символ x \\ ==> обратный слеш \xhh ==> символ с кодом U+00hh \xhhhh
- 4. Символьные классы Простой класс: [abc] ==> a, b или c Регулярное выражение: [ab] Входная строка: accddba
- 5. Символьные классы Отрицание: [^abc] ==> любой символ, кроме a, b, c Регулярное выражение: [^ab] Входная строка:
- 6. Символьные классы Диапазон: [a-zA-Z] ==> от a до z или от A до Z Регулярное выражение:
- 7. Символьные классы Объединение: [a-z[A-Z]] ==> от a до z или от A до Z Тоже самое,
- 8. Символьные классы Пересечение: [a-z&&[def]] ==> d, e или f Регулярное выражение: [a-d&&c-f] Входная строка: accdddeab Kolesnikov
- 9. Символьные классы Вычитание: [a-z&&[^def]] ==> от a до c или от g до z Регулярное выражение:
- 10. Символьные классы Java Эквиваленты методов класса Character: \p{javaLowerCase} ~ isLowerCase \p{javaUpperCase} ~ isUpperCase \p{javaWhitespace} ~ isWhitespace
- 11. Предопределенные классы . ==> любой символ Регулярное выражение: ... Входная строка: abcdefgh Регулярное выражение: .. Входная
- 12. Предопределенные классы \d ==> цифра, [0-9] \D ==> не цифра, [^\d] Регулярное выражение: \d\D Входная строка:
- 13. Предопределенные классы \s ==> пробельный символ, [ \t\n\f\r\x0b] \S ==> непробельный символ, [^\s] Регулярное выражение: \s\S
- 14. Предопределенные классы \w ==> символ слова, [a-zA-Z_\d] \W ==> отрицание \w, [^\w] Регулярное выражение: \w\W Входная
- 15. Границы ^ ==> начало строки Регулярное выражение: ^ab Входная строка: ababab $ ==> конец строки Регулярное
- 16. Границы \b ==> граница слова \B ==> отрицание \b Регулярное выражение: abc\b Входная строка: abc abcd
- 17. Границы \A ==> начало ввода Регулярное выражение: \Aabc Входная строка: abc abc abc abc Kolesnikov D.O.
- 18. Границы \z ==> конец ввода Регулярное выражение: abc\z Входная строка: abc abc abc abc Kolesnikov D.O.
- 19. Границы \Z ==> конец ввода, как и \z, но может включать ограничитель строки Регулярное выражение: abc\Z
- 20. Ограничители строк '\n' ==> LF (новая строка) '\r' ==> CR (возврат каретки) "\r\n" ==> CR+LF '\u0085'
- 21. Квантификаторы Квантификатор определяет повторяемость. Жадный квантификатор определяет максимально возможную подстроку. Ленивый квантификатор определяет минимально возможную подстроку.
- 22. Квантификаторы X? ==> один или ноль раз (жадный) Регулярное выражение: ab? Входная строка: aabcabbb X?? ==>
- 23. Квантификаторы X* ==> ноль или более раз (жадный) Регулярное выражение: ab* Входная строка: aabcabbb X*? ==>
- 24. Квантификаторы X+ ==> один или более раз (жадный) Регулярное выражение: ab+ Входная строка: aabcabbb X+? ==>
- 25. Квантификаторы X{n} ==> ровно n раз (жадный) или (совпадает по результату применения) X{n}? ==> ровно n
- 26. Квантификаторы X{n,} ==> не менее n раз (жадный) Регулярное выражение: ab{2,} Входная строка: aabcabbb X{n,}? ==>
- 27. Квантификаторы X{n,m} ==> от n до m раз (жадный) Регулярное выражение: ab{1,2} Входная строка: aabcabbb X{n,m}?
- 28. Сверхжадные квантификаторы При поиске в строке aab с помощью рег. выражения a+b шаги анализатора: a+ ==>
- 29. Сверхжадные квантификаторы Сверхжадный квантификатор действует как жадный, но никогда не откатывается назад. a++ ==> a (соответствует)
- 30. Сверхжадные квантификаторы Чтобы сделать жадный квантификатор сверхжадным достаточно добавить + справа от квантификатора: X? ==> X?+
- 31. Логические операции XY ==> X за которым следует Y (AND) X|Y ==> X илиY (OR) Приоритет
- 32. Группы Выражение в круглых скобка - группа. Каждая группа имеет номер. Группы нумеруются слева направо, начиная
- 33. Группы (A)(B(C)(?:D)) (A) ==> группа номер 1 (B(C)(?:D)) ==> группа номер 2 (C) ==> группа номер
- 34. Группы Группы могут быть использованы по номеру в регулярном выражении с помощью синтаксиса: \НОМЕР_ГРУППЫ Регулярное выражение:
- 35. Экранирование символов Для представления специальных символов: \ . | + * ? [ ] ( )
- 36. Экранирование символов Для указания диапазона экранирования можно использовать \Q и/или \E \Q ==> начало диапазона \E
- 37. Упреждающий просмотр вперед Позитивный: (?=X) Регулярное выражение: a(?=b) Входная строка: abacab Негативный: (?!X) Регулярное выражение: a(?!b)
- 38. Просмотр назад Позитивный: (? Регулярное выражение: (? Входная строка: abacab Негативный: (? Регулярное выражение: (? Входная
- 39. Режимы Влияют на работу регулярных выражений. Каждый режим имеет буквенный код. COMMENTS ==> x CASE_INSENSITIVE ==>
- 40. Режимы Чтобы включить режим, достаточно предварить регулярное выражение комбинацией: (?КОД_РЕЖИМА). (?m) (?s) Если нужно включить сразу
- 41. Режимы COMMENTS ==> x Режим комментариев. Пробельные символы игнорируются, после символа # можно писать комментарий к
- 42. Режимы CASE_INSENSITIVE ==> i Игнорирует регистр символов. UNIX_LINES ==> d Разделитель строк только CR (\r) DOTALL
- 44. Скачать презентацию