Haskell:
রেগুলার এক্সপ্রেশন ব্যবহার করা
কিভাবে:
Haskell এ, regex ফাংশনালিটিগুলি মানক লাইব্রেরির অংশ নয়, যার ফলে regex-base
এর মতো তৃতীয় পক্ষের প্যাকেজের ব্যবহার এবং এর সাথে সামঞ্জস্যপূর্ণ ব্যাকএন্ড যেমন regex-posix
(POSIX regex সমর্থনের জন্য), regex-pcre
(Perl-সামঞ্জস্যপূর্ণ regex এর জন্য), ইত্যাদির দরকার হয়। নিয়মিত অভিব্যক্তিগুলি সাথে কাজ করার জন্য আপনি কিভাবে এই প্যাকেজগুলি ব্যবহার করতে পারেন তা এখানে।
প্রথমত, আপনার প্রকল্পের .cabal
ফাইলে regex-posix
বা regex-pcre
যোগ করে বা সরাসরি cabal এর মাধ্যমে ইনস্টল করে নিশ্চিত করুন যে প্যাকেজগুলি ইনস্টল করা আছে:
cabal install regex-posix
অথবা
cabal install regex-pcre
regex-posix
ব্যবহার করে:
import Text.Regex.Posix ((=~))
-- একটি স্ট্রিং একটি প্যাটার্নের সাথে মিলে কিনা তা চেক করা
isMatch :: String -> String -> Bool
isMatch text pattern = text =~ pattern :: Bool
-- প্রথম মিল খুঁজে পাওয়া
findFirst :: String -> String -> String
findFirst text pattern = text =~ pattern :: String
main :: IO ()
main = do
print $ isMatch "hello world" "wo"
-- আউটপুট: True
print $ findFirst "good morning, good night" "good"
-- আউটপুট: "good"
regex-pcre
ব্যবহার করে:
import Text.Regex.PCRE ((=~))
-- সকল মিল খুঁজে পাওয়া
findAll :: String -> String -> [String]
findAll text pattern = text =~ pattern :: [String]
main :: IO ()
main = do
print $ findAll "test1 test2 test3" "\\btest[0-9]\\b"
-- আউটপুট: ["test1","test2","test3"]
প্রতিটি লাইব্রেরির নিজস্ব অঙ্গীকার থাকলেও, মিল চেক করা বা উপস্ট্রিং বের করার জন্য =~
ব্যবহার করার সাধারণ পদ্ধতিটি অভিন্ন থাকে। আপনার প্রকল্পের চাহিদা এবং নির্দিষ্ট regex সামর্থ্যের উপর ভিত্তি করে regex-posix
বা regex-pcre
এর মধ্যে নির্বাচন করা হয়।