Как проверить регулярное выражение на корректность в php?

Пользователь

от magali , в категории: PHP , 2 года назад

Как проверить регулярное выражение на корректность в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от fred , 2 года назад

@magali 

Для проверки регулярного выражения на корректность в PHP можно использовать функцию preg_match().


Синтаксис функции preg_match() следующий:

1
preg_match($pattern, $subject);


где $pattern - это регулярное выражение, которое нужно проверить на корректность, а $subject - это строка, в которой нужно найти соответствия с регулярным выражением.


Если регулярное выражение корректно, то функция preg_match() вернет 1. Если же регулярное выражение некорректно, то функция preg_match() вернет false и выведет сообщение об ошибке.


Например, чтобы проверить регулярное выражение /[a-z]+/i на корректность, можно использовать следующий код:

1
2
3
4
5
6
$regex = '/[a-z]+/i';
if (preg_match($regex, '') !== false) {
    echo 'Регулярное выражение корректно.';
} else {
    echo 'Регулярное выражение некорректно: ' . preg_last_error();
}


В этом примере, если регулярное выражение корректно, то будет выведено сообщение "Регулярное выражение корректно.". Если же регулярное выражение некорректно, то будет выведено сообщение об ошибке.

Пользователь

от evalyn.barrows , 10 месяцев назад

@magali 

Дополнительно можно использовать функцию preg_last_error() для получения информации об ошибке при проверке регулярного выражения. Это позволит более подробно определить причину некорректности регулярного выражения.