А ось ковід завітав і до моєї оселі.
Майже весь цей тиждень мені приходилося вечорами замерзати. Ну, так склалося.
І в п'ятницю пізно ввечорі відчув невеликий дискомфорт у горлі. Спочатку подумав, що це "невелика застуда", результат перемерзань. Але сьогодні, коли вже наявні повноцінні ознаки застуди, зробив експрес-тест. І отакої 😔
Майже весь цей тиждень мені приходилося вечорами замерзати. Ну, так склалося.
І в п'ятницю пізно ввечорі відчув невеликий дискомфорт у горлі. Спочатку подумав, що це "невелика застуда", результат перемерзань. Але сьогодні, коли вже наявні повноцінні ознаки застуди, зробив експрес-тест. І отакої 😔
Але є і гарні новини: в "Дії" нарешті підтягнувся мій зелений сертифікат про вакцинацію. Місяць його не було, мені прийшлося навіть взяти паперову довідку у лікарні. Про всяк випадок.
👍2
Жадібні квантифікатори
Майже завжди квантифікатори регулярних виразів за умовчанням працюють "жадібно": спочатку захоплюють якнайбільше символів, а потім, якщо треба, відкочуються назад і віддають по одному символу наступним елементам регулярки.
Наприклад, у нас є рядок:
Процес: спочатку "
Співпадіння:
Матасимволом
Мовою регулярок:
Процес: "
Співпадіння:
Уважний слухач в цьомі місці гнівно заволає: І нашо перемикати? Якщо результати однакові, то навіщо платити більше зайві символи?
А давайте тепер запам'ятаємо частину регулярки в групу.
Мовою регулярок:
#regex
Майже завжди квантифікатори регулярних виразів за умовчанням працюють "жадібно": спочатку захоплюють якнайбільше символів, а потім, якщо треба, відкочуються назад і віддають по одному символу наступним елементам регулярки.
Наприклад, у нас є рядок:
qqq
Мовою регулярок: q+.+
Українською: один або більше символів "q", а потім один або більше будь-яких символів (щодо "будь-який" не все так просто, але давайте зараз вважати саме так).Процес: спочатку "
q+" співпаде з "qqq", але потім відкотиться на один символ назад, віддаючи останню "q" фрагменту ".+".Співпадіння:
qqq (увесь рядок)Матасимволом
? ми можемо перемкнути жадібність на протилежну.Мовою регулярок:
q+?.+
Українською: хоча б один символ "q", а потім один або більше будь-яких символів.Процес: "
q+" співпаде з першою "q" і задовольниться, а залишок "qq" співпаде з ".+".Співпадіння:
qqq (увесь рядок)Уважний слухач в цьомі місці гнівно заволає: І нашо перемикати? Якщо результати однакові, то навіщо
А давайте тепер запам'ятаємо частину регулярки в групу.
Мовою регулярок:
(q+).+
Співпадіння: qqq
Вміст групи, що співпала: qq
Мовою регулярок: (q+?).+
Співпадіння: qqq
Вміст групи, що співпала: q
P.S.: про метасимвол ? я писав ось тут.#regex