Не получается составить регулярное выражение такого вида xx.xx.xxx, где x - может быть любой латинский или русский символ любого регистра или цифра. Но обязательно должно быть 2 символа, далее точка => 2 символа => точка => 3 символа Составил следующее выражение -
var_dump(preg_match('/^([а-я]*[А-Я]*[A-Z]*[a-z]*ё*Ё*[0-9]*){2}.([а-я]*[А-Я]*[A-Z]*[a-z]*ё*Ё*[0-9]*){2}.([а-я]*[А-Я]*[A-Z]*[a-z]*ё*Ё*[0-9]*){3}$/u', 'd1.df.dfd'));
Выражение работает кооректно, но если удалить 1 символ вконце, например d1.df.df, то оно возвращает 1, хотя должно 0. Подскажите пожалуйста в чем может быть проблема?
Поиск двух групп: (?:[\pL\d]{2}\.){2}
Поиск трёх буквенно-числовых символов: [\pL\d]{3}
Модификаторы: i
- регистронезависимый; u
- поиск символов юникода.
(?:...)
- это конструкция НЕ сохраняющих скобок, которая используется только для группировки символов. А простые скобки (...)
помимо группировки ещё и выполняют захват соответствующих подстрок. \pL
и \d
- это буквенные и числовые символьные классы соответственно.
$str = 'xx.xx.xxx';
$patt = '~(?:[\pL\d]{2}\.){2}[\pL\d]{3}~iu';
preg_match($patt, $str, $arr);
var_dump($arr);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть несколько страниц на WordpressДля каждой странице нужно вывести несколько полей
Пишет, что ждал параметр, а получил обьектРезульт запроса потом мне еще в переменную скинуть надо
Доброго времени суток есть таблица допустим tabel(id,name,color,price), хочу сделать запрос фильтрации по цвету и цене
Есть MySql БД, в каждой строке записано time, step, idid - уникальное значение, time и step не уникальные, то есть они могут быть одинаковые в разных строках