Ссылка на рабочую регулярку http://regexr.com?368t0 На сайте regexr.com все работает: Регулярка: Код (Text): ([a-zA-Zа-яА-Я0-9-]{0,40})\s?(Ковер|Коврик|Дорожка|Ковролин)\s?"?([a-zA-Zа-яА-Я0-9-\s\/]{0,100})"?[\s]{1,2}([0-9,xх]{1,30})\s?([\W]{0,10}) Входящие данные: 11С51-ВИ Коврик для т/ван 0,37х0,48 Результат: 11С51-ВИ Коврик для т/ван 0,37х0,48 На моем сайте в коде страницы: Код (Text): $subject=trim($value); $pattern = '/^([a-zA-Zа-яА-Я0-9-]{0,40})\s?(Ковер|Коврик|Дорожка|Ковролин)\s?"?([a-zA-Zа-яА-Я0-9-\s\/]{0,100})"?[\s]{1,2}([0-9,xх]{1,30})\s?([\W\d\s-]{0,10})$/'; preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE); Не работает с 11С51-ВИ Коврик для т/ван 0,37х0,48 хотя на сайте regexr.com работает Работает с 11С58-ВИ Ковер 0,60х1,10 Результат: 1С58-ВИ Ковер 0,60х1,10 Вроде бы примеры далеко друг от друга не ушли, но почему один работает, а другой нет, хотя оба работают на сайте regexr.com
Код (PHP): $value = "11С51-ВИ Коврик для т/ван 0,37х0,48"; $subject=trim($value); $pattern = '/^([a-zA-ZАаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя0-9-]{0,40})\s?(Ковер|Коврик|Дорожка|Ковролин)\s?"?([a-zA-ZАаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя0-9-\s\/]{0,100})"?[\s]{1,2}([0-9,xх]{1,30})\s?([\W\d\s-]{0,10})$/'; preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE); print_r($matches); Код (Text): Array ( [0] => Array ( [0] => 11С51-ВИ Коврик для т/ван 0,37х0,48 [1] => 0 ) [1] => Array ( [0] => 11С51-ВИ [1] => 0 ) [2] => Array ( [0] => Коврик [1] => 12 ) [3] => Array ( [0] => для т/ван [1] => 25 ) [4] => Array ( [0] => 0,37х0,48 [1] => 42 ) [5] => Array ( [0] => [1] => 52 ) ) о мама мия, лан... регулярки не могут работать с русс символами
Почему? если utf8 и модификатор u поставить, то вполне. http://www.cyberforum.ru/php-regex/thread223472.html#post1255738
Я же дал ссылку, проверено, работает. У меня в парсерах нормально регулярки с русскими символами работают