Можна з мови PHP прибрати регулярний вираз?

19

Від автора: потрібно з PHP прибрати регулярний вираз! Геть панування regular expressions! Хай живе… Ось бачите, а замінити нічим!

Тільки за!

Я теж пропоную позбутися регулярок. Ох, як вони мені набридли! Тільки потрібно знайти гідну заміну. Коли знайдеться, «свистните»! А ми поки поговоримо про головний недолік регулярних – швидкості обробки.

Вважаю, що іноді можна обійтися без регулярок. Найчастіше при операціях з рядками. Адже в PHP для цього є безліч спеціалізованих функцій, які працюють набагато швидше. Це і є той випадок, коли можна з PHP видалити регулярний вираз.

Доказ!

Для вимірювання використовуємо функцію microtime(). Спочатку дізнаємося, скільки займе часу операція пошуку і заміни слова в рядку з допомогою функції str_replace():

справи«,$m);
echo $stroka.»
«;
$time=round(microtime(true) — $begin,5);
echo «Скрипт виконався за: «.$time.» с.»;
?>

Можна з мови PHP прибрати регулярний вираз?

Тепер з’ясуємо, чи варто PHP прибирати регулярні вирази. Виміряємо час проведення тієї ж операції за допомогою регулярки.

«;
$time1=round(microtime(true) — $begin,5);
echo «Час виконання скрипта: «.$time1.» с.»;
?>

Можна з мови PHP прибрати регулярний вираз?

Різниця начебто і несуттєва, але це тільки при обробці одного рядка. А якщо потрібно здійснити пошук за великим масивом даних? Тоді ця різниця стане настільки чутливою, що може негативно позначитися на продуктивності всього ресурсу.

Загалом, відповідь проста: з PHP видаляти регулярні вирази ще рано, але іноді можна обходитися і без них. Головне знати, коли!