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 বছর: 2023
lrexlib
ব্যবহার করে নিয়মিত এক্সপ্রেশন ব্যবহার:
আসল নিয়মিত এক্সপ্রেশন ব্যবহার করতে, আপনি 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, আপনার প্রয়োজনগুলি মেটাতে পারে।