Начал изучать регулярки так как пришлось написать выбор строки из кода ну например у меня есть строка HTML: <title>Цвета белый, черный</title> вместо <title> может стоять что угодно внутири тегов обязательно должно присудствовать слово Цвет но оно так же может быть либо Цвет либо цвет либо Цвета или цвета ну написал вот такое выражение PHP: preg_match('|<*[^>]*?>((Ц\|ц)вет(\s\|а)\s+(*))<*>|sei', $slovo, $arr); Проверку на любые теги проходит но вот со серединой PHP: ((Ц\|ц)вет(\s\|а)\s+(*)) проблемы что написал нетак?
PHP: preg_match('|<*[^>]*?>((Ц|ц)вет[.]{0,1})<*>|sei', $slovo, $arr); Вот вставил твой код не работает --- Добавлено --- PHP: preg_match('|<*[^>]*?>(<.*>([Ц|ц]вет[а]?.*)<\/.*>)<*>|sei', $slovo, $arr); так тоже не хочет --- Добавлено --- да мне нужно распарсить целую таблицу с атрибутами. а там куча всего известно только название каждого атрибута(
PHP: <?php preg_match('/<([A-Z][A-Z0-9]*)[^>]*>(цвет[а]?)\s(.*?),\s(.*?)<\/\1>/iu', '<title>Цвета белый, черный</title>', $matches); print_r($matches); Код (Text): Совпадения будут на: <title>Цвета белый, черный</title> <title>цвета белый, черный</title> <title>Цвет белый, черный</title> <title>цвет белый, черный</title> Array ( [0] => <title>цвет белый, черный</title> [1] => title [2] => цвет [3] => белый [4] => черный )