রেগুলার এক্সপ্রেশন ব্যবহার করা

Google Apps Script:
রেগুলার এক্সপ্রেশন ব্যবহার করা

কিভাবে:

Google Apps Script-এ রেগুলার এক্সপ্রেশনস ব্যবহার করা জাভাস্ক্রিপ্ট-ভিত্তিক সিনট্যাক্সের কারণে সহজ। এখানে আপনি খোঁজা এবং ডেটা যাচাইকরণের মতো সাধারণ কার্যগুলির জন্য আপনার স্ক্রিপ্টে রেগুলার এক্সপ্রেশনস যোগ করার জন্য যেমন করতে পারেন:

স্ট্রিংগুলি খোঁজা

ধরুন, আপনি এমন একটি স্ট্রিং খুঁজতে চান যা নির্দিষ্ট একটি প্যাটার্ন, যেমন একটি ইমেইল ঠিকানা ধারণ করে। এখানে একটি সাধারণ উদাহরণ:

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]এ।");

ডেটা যাচাইকরণ

ডেটা যাচাইকরণে রেগুলার এক্সপ্রেশনস উজ্জ্বল ভাবে কাজ করে। নিচের একটি ফাংশন এমন একটি ইনপুট স্ট্রিং যাচাই করে যা একটি সাধারণ পাসওয়ার্ড নীতি (অন্তত একটি বড়হাতের অক্ষর, একটি ছোটহাতের অক্ষর, এবং সর্বনিম্ন ৮ অক্ষর) অনুসরণ করে কিনা তা যাচাই করে।

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-এ রেগুলার এক্সপ্রেশনস জাভাস্ক্রিপ্ট থেকে উত্তরাধিকার সূত্রে পাওয়া যায়, যা প্রথম ECMAস্ক্রিপ্ট ভাষা স্পেসিফিকেশনে জুন 1997-এ মানকীকৃত হয়েছিল। যদিও শক্তিশালী, অত্যধিক ব্যবহার বা জটিল প্যাটার্ন ম্যাচিং কাজের জন্য ব্যবহার করায় কখনও কখনও তা বিভ্রান্তিকর এবং রক্ষণাবেক্ষণ করা কঠিন কোড হয়ে দাঁড়াতে পারে।

উদাহরণস্বরূপ, HTML বা XML পার্সিংয়ের জন্য আপনি যদি রেগুলার এক্সপ্রেশনস ব্যবহার করেন, তবে সাধারণত তা উৎসাহিত হয় না কারণ এই নথিগুলির জটিল এবং গুণ্ঠিত কাঠামো। এর পরিবর্তে, HTML-এর জন্য DOM পার্সারের মতো বিশেষভাবে ডিজাইনকৃত টুলগুলি বেশি বিশ্বস্ত এবং পঠনযোগ্য।

তদুপরি, Google Apps Script ডেভেলপারদের বড় পরিসরের টেক্সট পরিচালনা কাজে জটিল রেগুলার এক্সপ্রেশনের প্যাটার্ন ব্যবহার করার সময় সম্ভাব্য পারফরম্যান্স ইস্যুগুলি সম্পর্কে সচেতন থাকা উচিত, কারণ রেগুলার এক্সপ্রেশন প্রসেসিং সিপিইউ-ইন্টেনসিভ হতে পারে। এমন ক্ষেত্রে, কাজটিকে সরল উপ-কাজগুলিতে ভাগ করা বা অন্তর্নির্মিত স্ট্রিং পরিচালনা ফাংশনগুলি ব্যবহার করা পারফরম্যান্স এবং রক্ষণাবেক্ষণের একটি ভালো ভারসাম্য প্রদান করতে পারে।