regex — php preg_replace игнорирует ^ в конструкции [ˆabc]

Идея состоит в том, чтобы удалить все не алфавитные символы из строки.

$string = "abcd  5858add";
print preg_replace('/[ˆa-z]/', '', $string)."\n"; //produces '  5858' (wrong)
print preg_replace('/[a-z]/', '', $string)."\n";  //produces '  5858' (right)

Первое регулярное выражение должно удалить все не алфавитные символы.
Второй должен удалить все буквенные символы.
Но результат одинаков для обоих.
Зачем?

Проверено на PHP 5.5.30, PHP 5.4.16

1

Решение

Это не карета, это акцент.

использование [^a-z] вместо [ˆa-z],

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]