О нас
Разработчикам
Заметки
Переводчик
Транслитератор
Сравнить текст
Генератор пароля
Ip и информация
Декодировать JSON
Локация
О нас
Разработчикам
Заметки
Переводчик
Транслитератор
Сравнить текст
Генератор пароля
Ip и информация
Декодировать JSON
Локация
Регулярные выражения regexp
us.content
. любой символ \ экранирует следующий символ ## ограничители два любых символа или // [ABC] символьный класс (найдутся три буквы, точка здесь просто точка) [0-9a-z] диапазоны от 0 до 9 и от а до z [а-яА-ЯёЁ] - диапазон для кириллицы [!-\/:-@\[-`{-~] все знаки ^ отрицание, только в начале [] Пробел - символ \t - табуляция \r - перенос каретки, ниже на строку, но не в начало (в unix этого символа нет) \n - перенос строки (в mac этого символа нет) Обобщающие классы \d это тоже [0-9], \D - [^0-9] - обратное, т.е. всё кроме этого \w - литеры, цифры и подчёркивание [a-zA-Z0-9_], \W - [^a-zA-Z0-9_] - обратное, т.е. всё кроме этого \s - непечатаваемые символы [\r\n\t\f\v ], \S - [^\r\n\t\f\v ] - обратное, т.е. всё кроме этого Если с большой буквы, то это отрицание. Квантификаторы (то, что перед ним ) + 1 или больше раз {0,} *от 0 и больше раз {1,} ? 0 или 1 {0,1} {min,max} Минимальное и максимального кол-во {min,} Только минимум {точное количество} Все квантификаторы жадные, если после него поставить ? то он становиться ленивым Флаги g искать все совпадения i не чувствительна к регистру s перенос строки m многострочный текст (если больше одной строки, то нужно ставить, используется только с ^$ начало и конец строки). В этом случае в конце писать \r?$ u режим Юникода, с ним работать аккуратно, проверять результат, чтобы в выборку не попало лишнее Позиционные метасимволы ^ начало строки $ конец строки \b- начало и конец символов слова, это входит в \w (?=шаблон) - Позитивный просмотр вперёд (?!шаблон) - Негативный просмотр вперёд (?<=шаблон) - Позитивный просмотр назад (?<!шаблон) - Негативный просмотр назад | или () группировка \1 Выводит первое сгруппированное При замене $1 означает сгруппированное. Можно делать несколько скопов в (), первый из них будет $1, второй $2 Регулярные выражения https://regex101.com http://regexlib.com/DisplayPatterns.aspx Примеры регулярных выражений Заменить в строке все символы кроме латинских букв, цифр и подчеркивания на подчеркивание $str = preg_replace('/[^\w]/', '_', $str); Заменить в строке все символы кроме любых букв, цифр и подчеркивания на подчеркивание $str = preg_replace('/[^\p{L}\p{N}_]/u', '_', $str); Берём содержимое строки после слова assets $find = 'assets'; $str = 'https://site.ru/assets/images/products/172687.jpg"'; $pattern = "/{$find}(.*)/"; preg_match($pattern, $str, $matches); $res = $matches[1]; После определённых символов взять содержимое до определённого символа $period = '|1,0|2,0|3,0|4,0|5,0|6,0|7,0|8,0|9,0|10,0|11,0|12,0|13,0|14,0|15,0|16,0|17,0|18,0|19,0|20,0|21,0|22,0|23,0|24,0|25,0|26,0|27,0|28,0|29,0|30,0|'; $day = 29; $pattern = "/(?<=\|{$day},)[^|]*(?=\|)/miu"; preg_match($pattern, $period, $matches); $res = $matches[0] ?? null; // Получить catalog из url $curPage = '/catalog/test/'; $pattern = '#([^/]+)#u'; // Получить последний элемент url $str = 'catalog/mebel'; preg_match('/\/([^\/]+)$/', $str, $matches); $alias = $matches[1] ?? null; // Проверка нахождения в карточке товара if (preg_match('#https://.+/catalog/.+/.+/#', 'https://site.ru/catalog/cat/product/')) { echo 'ok'; } // Получить только телефон $tel = preg_replace('/[^0-9]+/', '', $tel); // или /\D/
Список