PHP-তে রেগুলার এক্সপ্রেশনের ব্যবহার অপ্টিমাইজেশন
রেগুলার এক্সপ্রেশন খুবই ভারী এবং আপেক্ষিকভাবে ধীর গতিতে কাজ করে। যখন বিকল্প সমাধান থাকে, সেটি ব্যবহার করাই কাম্য।
একটি উদাহরণ দেখা যাক। ধরুন আমাদের একটি স্ট্রিং বিস্ময়বোধক চিহ্ন দিয়ে শুরু হয় কিনা তা পরীক্ষা করতে হবে। একজন প্রোগ্রামার এই সমস্যাটি রেগুলার এক্সপ্রেশন দিয়ে সমাধান করেছেন:
<?php
if (preg_match('#^!#', $str)) {
echo 'হ্যাঁ';
} else {
echo 'না';
}
?>
যাইহোক, এমন সমস্যার জন্য অনেক বেশি দ্রুত গতিতে কাজ করা সমাধান রয়েছে:
<?php
if ($str[0] == '!') {
echo 'হ্যাঁ';
} else {
echo 'না';
}
?>
রেগুলার এক্সপ্রেশন খুবই ভারী এবং আপেক্ষিকভাবে ধীর গতিতে কাজ করা জিনিস। সর্বদা, যেখানে বিকল্প সমাধান থাকে, সেখানে সেটি ব্যবহার করাই কাম্য।
নিচের কোডে একজন প্রোগ্রামার পরীক্ষা করছেন,
স্ট্রিং-এ '333' সাবস্ট্রিং আছে কিনা।
এই প্রোগ্রামারের সমাধানটি অপ্টিমাইজ করুন।
কোডটি এখানে:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'আছে';
} else {
echo 'নেই';
}
?>
নিচের কোডে একজন প্রোগ্রামার পরীক্ষা করছেন,
স্ট্রিংটি .html দিয়ে শেষ হয় কিনা।
এই প্রোগ্রামারের সমাধানটি অপ্টিমাইজ করুন।
কোডটি এখানে:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'হ্যাঁ';
} else {
echo 'না';
}
?>
এমন একটি কোড লিখুন, যা পরীক্ষা করবে যে স্ট্রিংটি
.png নাকি .jpg দিয়ে শেষ হয়।