By_Engine
@By_Engine

Как проверить валидность regexp?

Есть ли способ проверить валидность regexp выражения на php?
  • Вопрос задан
  • 374 просмотра
Решения вопроса 1
function invalidRegex($regex)
{
    if(preg_match($regex, null) !== false)
    {
        return '';
    }

    $errors = array(
        PREG_NO_ERROR               => 'Code 0 : No errors',
        PREG_INTERNAL_ERROR         => 'Code 1 : There was an internal PCRE error',
        PREG_BACKTRACK_LIMIT_ERROR  => 'Code 2 : Backtrack limit was exhausted',
        PREG_RECURSION_LIMIT_ERROR  => 'Code 3 : Recursion limit was exhausted',
        PREG_BAD_UTF8_ERROR         => 'Code 4 : The offset didn\'t correspond to the begin of a valid UTF-8 code point',
        PREG_BAD_UTF8_OFFSET_ERROR  => 'Code 5 : Malformed UTF-8 data',
    );

    return $errors[preg_last_error()];
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Chefranov
@Chefranov
Новичок
Ответ написан
Комментировать
@zaisabaev
regex101.com
можно проверить на этом сайте
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы