Lua:
রেগুলার এক্সপ্রেশন ব্যবহার করা
কিভাবে :
Lua প্যারল বা পাইথনের মতো ভাষাগুলির মতো একইভাবে নিয়মিত এক্সপ্রেশনকে স্বাভাবিকভাবে সমর্থন করে না। এর পরিবর্তে, এটি প্যাটার্ন ম্যাচিং সামর্থ্য প্রদান করে যা নিয়মিত এক্সপ্রেশনের অনেক সাধারণ ব্যবহার ক্ষেত্রে কাজ করে। তবে, সম্পূর্ণ নিয়মিত এক্সপ্রেশন সাপোর্টের জন্য, একজন তৃতীয়-পক্ষের লাইব্রেরি যেমন lrexlib ব্যবহার করতে পারেন।
Lua-ব্যাপী প্রাথমিক প্যাটার্ন ম্যাচিং:
Lua একটি শক্তিশালী প্যাটার্ন ম্যাচিং সিস্টেম প্রদান করে যা আপনি সহজ প্রতিস্থাপন এবং অনুসন্ধানের জন্য ব্যবহার করতে পারেন:
-- সহজ অনুসন্ধান
local str = "Hello, World!"
if string.find(str, "World") then
print("মিল পাওয়া গেছে!")
end
-- আউটপুট: মিল পাওয়া গেছে!
-- সহজ প্রতিস্থাপন
local s = string.gsub("Lua অসাধারণ!", "অসাধারণ", "দুর্দান্ত")
print(s)
-- আউটপুট: Lua দুর্দান্ত!সাবস্ট্রিং ক্যাপচার করা:
আপনি স্ট্রিং যেখানে প্যাটার্নের সাথে মিলে যায়, সেই অংশগুলি ক্যাপচার করতে পারেন:
local date = "Today is 17/05/2023."
local d, m, y = string.match(date, "(%d+)/(%d+)/(%d+)")
print("Day:", d, "Month:", m, "Year:", y)
-- আউটপুট: দিন: 17 মাস: 05 বছর: 2023lrexlib ব্যবহার করে নিয়মিত এক্সপ্রেশন ব্যবহার:
আসল নিয়মিত এক্সপ্রেশন ব্যবহার করতে, আপনি lrexlib ইনস্টল করে এবং ব্যবহার করতে পারেন। ধরুন আপনি এটি ইনস্টল করেছেন (luarocks install lrexlib-pcre), আপনি আরও জটিল প্যাটার্ন ম্যাচিং করতে পারেন:
local rex = require 'rex_pcre'
local text = "The rain in Spain stays mainly in the plain."
local regex = "\\bS\\w+"
local count, err = rex.gsub(text, regex, function(w)
return w:upper()
end)
if err then
print("এরর:", err)
else
print("পরিবর্তিত টেক্সট:", text)
print("প্রতিস্থাপন গণনা:", count)
end
-- উদাহরণ আউটপুট: পরিবর্তিত টেক্সট: The RAIN in SPAIN stays MAINLY in the plain.
-- প্রতিস্থাপন গণনা: 3উপরের উদাহরণগুলি Lua-র নিজস্ব প্যাটার্ন ম্যাচিং সিস্টেমের মৌলিক ব্যবহার এবং lrexlib এর মাধ্যমে নিয়মিত এক্সপ্রেশনের শক্তি কীভাবে ব্যবহার করা যায় তা প্রদর্শন করে। আপনি যদি সাধারণ স্ট্রিং ম্যানিপুলেশন করতে চান অথবা নিয়মিত এক্সপ্রেশনের সম্পূর্ণ বহুমুখিতার দরকার পড়ে তবে, শক্তিশালী লাইব্রেরিগুলির সাথে Lua, আপনার প্রয়োজনগুলি মেটাতে পারে।