Використання регулярних виразів

Google Apps Script:
Використання регулярних виразів

Як:

Використання регулярних виразів у Google Apps Script є простим завдяки синтаксису на основі JavaScript. Ось як ви можете включити regex у свої скрипти для загальних завдань, таких як пошук і перевірка даних.

Пошук у рядках

Припустимо, ви хочете знайти, чи містить рядок певний шаблон, наприклад, адресу електронної пошти. Ось простий приклад:

function findEmailInText(text) {
  var emailPattern = /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/;
  var found = text.match(emailPattern);
  if (found) {
    Logger.log("Знайдено: " + found[0]);
  } else {
    Logger.log("Електронну пошту не знайдено.");
  }
}

// Приклад використання
findEmailInText("Зв'яжіться з нами за адресою [email protected].");

Перевірка даних

Регулярні вирази сяють у перевірці даних. Нижче наведена функція, що перевіряє вхідний рядок, щоб переконатися, чи він відповідає простій політиці паролів (принаймні одна велика буква, одна мала буква і мінімум 8 символів).

function validatePassword(password) {
  var passwordPattern = /^(?=.*[a-z])(?=.*[A-Z]).{8,}$/;
  return passwordPattern.test(password);
}

// Приклад виведення
Logger.log(validatePassword("Str0ngPass")); // Виводиться: true
Logger.log(validatePassword("weak"));       // Виводиться: false

Поглиблене вивчення

Регулярні вирази в Google Apps Script успадковані від JavaScript, що вперше було стандартизовано у специфікації мови ECMAScript у червні 1997 року. Незважаючи на потужність, регулярні вирази іноді можуть призводити до заплутаного та важко підтримуваного коду, особливо при надмірному використанні або застосуванні для завдань складного зіставлення шаблонів, які можливо більш ефективно вирішити іншими методами аналізу.

Наприклад, хоча ви можете використовувати regex для аналізу HTML або XML на швидку руку, робити це зазвичай не рекомендується через вкладені та складні структури цих документів. Натомість інструменти, спеціально призначені для аналізу таких структур, наприклад, DOM-парсери для HTML, є більш надійними та зрозумілими.

Більш того, розробникам Google Apps Script слід бути уважними до потенційних проблем з продуктивністю при використанні складних шаблонів regex у завданнях з масштабною маніпуляцією текстом, оскільки обробка regex може бути ресурсоємною. У таких випадках розбиття завдання на простіші підзавдання або використання вбудованих функцій маніпулювання рядками може запропонувати кращий баланс продуктивності та підтримуваності.