Здравствуйте.
Не могу понять, почему некорректно отрабатывает регулярка.
Есть строки:
'Арг.ен!тина ма,нит нег$ра'
и
'S!um summ$us mu,s'
(ищу палиндром).
Первым делом из строк хочу выбросить все, кроме символов (могут быть, как латиница, так и кириллица) и цифр.
Эти строки попадают в метод:
private function checkString(string $string): void
{
$this->incomingString = mb_strtolower($string);
$this->preparedString = preg_replace('/[^\p{Cyrillic}\p{Latin}]/u', '', $this->incomingString);
// ...
}
Шаблон регулярки
/[^\p{Cyrillic}\p{Latin}]/u'
, проверяю на
regex101 — все ок, пытаюсь реализовать в php — все не ок. Результат:
• первая строка преобразуется корректно:
аргентинмнитнегра
• вторая вообще никак не реагирует, то есть возвращается тоже, что и попадает:
s!um summ$us mu,s
В чем ошибка?