Модульні уроки (3/4)
Заперечення: `[^...]`
Розміщення каретки ^ як першого символу в дужках
інвертує клас: він відповідає будь-якому символу крім перелічених.
Pattern: [^aeiou]
Sample: ciao mondo
^ ^^ ^[^aeiou] збігається з приголосними, пробілами, знаками пунктуації, цифрами\u2026 усім, що
не голосна.
Типові приклади
[^\s]-- будь-який символ "не пробіл" (еквівалент\S).[^0-9]-- усе, що не є цифрою (еквівалентно\D).[^"]+-- "послідовність символів, які не є подвійними лапками" (корисно для витяг вмісту між лапками).
Pattern: "([^"]+)"
Sample: Il libro "Il nome della rosa" e' famoso.Група ([^"]+) фіксує все між лапками зупиняючись
перед наступним ": це класичний прийом, щоб уникнути
проблема жадібних проти ледачих.
Заперечення та альтернативні символи підстановки
Заперечений клас [^...] використовує рівно один символ, який НЕ є частиною зазначеного набору. Це потужний інструмент для запобігання роботі двигуна за критичними роздільниками, уникаючи ReDoS, викликаного нескінченними циклами зворотного відстеження.
Спробуйте
Витягніть вміст кожного рядка між подвійними лапками, не фіксуючи самі лапки.
Показати підказку
Замініть .+ на [^"]+: таким чином збіг зупиняється на наступній лапці.
Рішення доступне після 3 спроб
Повторна вправа
Знайдіть кожне слово, яке складається ТІЛЬКИ з приголосних (без голосних, без цифр і без символів).
Показати підказку
У дужках можна поєднати заперечення голосних із \\W (не слово) та \\d (цифри).
Рішення доступне після 3 спроб
Додатковий виклик
Зіставте послідовності з одного або кількох символів, явно виключаючи пробіли та коми.
Показати підказку
Використовуйте [^\\s,] з квантором +.
Рішення доступне після 3 спроб