Regular Expressions (RegEx) একটি শক্তিশালী টুল যা টেক্সটের মধ্যে প্যাটার্ন খুঁজে বের করতে, মিলিয়ে দেখতে এবং টেক্সটকে ম্যানিপুলেট করতে ব্যবহৃত হয়। এটি একটি বিশেষ ভাষা যা স্ট্রিং প্যাটার্নগুলি বর্ণনা করতে ব্যবহৃত হয় এবং আপনি যেকোনো ধরনের টেক্সট সনাক্ত করতে, পরিবর্তন করতে বা যাচাই করতে এই প্যাটার্নগুলি ব্যবহার করতে পারেন।
RegEx সাধারণত ব্যবহৃত হয়:
a
, b
, 1
, @
, %
ইত্যাদি লিটারেল ক্যারেকটার হিসেবে কাজ করে।apple
শুধুমাত্র "apple"
এই শব্দকে মিলাবে।.
(Dot): যেকোনো একক চরিত্রের সাথে মিলে।a.c
যেকোনো string এর মধ্যে "a", যেকোনো এক ক্যারেকটার এবং "c" এর সাথে মিলবে, যেমন "abc"
, "axc"
, "a9c"
ইত্যাদি।^
(Caret): স্ট্রিংয়ের শুরুর সাথে মিলবে।^abc
শুধুমাত্র এমন স্ট্রিং এর সাথে মিলে যা "abc"
দিয়ে শুরু হয়, যেমন "abc123"
।$
(Dollar Sign): স্ট্রিংয়ের শেষে মিলবে।abc$
শুধুমাত্র এমন স্ট্রিং এর সাথে মিলে যা "abc"
দিয়ে শেষ হয়, যেমন "123abc"
।[]
(Square Brackets): কোনো নির্দিষ্ট চরিত্রের এক বা একাধিক অপশন।[aeiou]
যেকোনো একটি vowel এর সাথে মিলবে। "a"
, "e"
, "i"
ইত্যাদি।|
(Pipe or OR): দুটি বা ততোধিক প্যাটার্নের মধ্যে কোন একটি মিললে কাজ করবে।cat|dog
যেকোনো "cat" অথবা "dog" শব্দের সাথে মিলে।*
(Asterisk): পূর্ববর্তী চরিত্রটি শূন্য বা তার বেশি বার রিপিট হতে পারে।a*
যেকোনো স্ট্রিং এর মধ্যে শূন্য বা একাধিক "a" এর সাথে মিলবে, যেমন "aaa"
, "a"
, বা ""
(শূন্য)।+
(Plus): পূর্ববর্তী চরিত্রটি এক বা একাধিক বার রিপিট হতে পারে।a+
যেকোনো স্ট্রিং এর মধ্যে এক বা একাধিক "a" এর সাথে মিলবে, যেমন "a"
, "aa"
, "aaa"
।?
(Question Mark): পূর্ববর্তী চরিত্রটি এক বা শূন্য বার রিপিট হতে পারে।a?
যেকোনো স্ট্রিং এর মধ্যে এক বা শূন্য "a" এর সাথে মিলবে, যেমন "a"
বা ""
(শূন্য)।{n}
: ঠিক n বার রিপিট হওয়া।a{3}
এর মানে হচ্ছে ঠিক তিনটি "a" এর সাথে মিলবে, যেমন "aaa"
।{n,}
: কমপক্ষে n বার রিপিট হওয়া।a{2,}
এর মানে হচ্ছে দুই বা তার বেশি "a" এর সাথে মিলবে, যেমন "aa"
, "aaa"
।{n,m}
: n থেকে m বার রিপিট হওয়া।a{2,4}
এর মানে হচ্ছে দুই থেকে চারটি "a" এর মধ্যে মিলবে, যেমন "aa"
, "aaa"
, "aaaa"
।\
ব্যবহার করতে হবে।\.
এটা একটি ডট চরিত্র হিসাবে কাজ করবে, যাতে .com
এর মতো শব্দের মধ্যে ডট মিলানো যায়।ইমেইল ঠিকানা যাচাই করা:
একটি সাধারণ RegEx ব্যবহার করে একটি বৈধ ইমেইল ঠিকানা যাচাই করা।
def emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/
def email = "example@example.com"
if (email =~ emailPattern) {
println "Valid email address."
} else {
println "Invalid email address."
}
এখানে, RegEx প্যাটার্নটি একটি বৈধ ইমেইল ঠিকানার জন্য নির্ধারিত ফরম্যাট চেক করে।
নাম পরীক্ষা করা:
RegEx ব্যবহার করে আপনি নামের মধ্যে শুধুমাত্র অক্ষর এবং স্পেস থাকতে পারে এমন নিয়ম নির্ধারণ করতে পারেন।
def namePattern = /^[a-zA-Z\s]+$/
def name = "John Doe"
if (name =~ namePattern) {
println "Valid name."
} else {
println "Invalid name."
}
এখানে, ^[a-zA-Z\s]+$
প্যাটার্নটি শুধুমাত্র অক্ষর এবং স্পেসের মধ্যে মিলবে।
=~
অপারেটর ব্যবহার করে RegEx এর সাথে স্ট্রিং মিলানো যায় এবং এটি একটি শক্তিশালী টুল হিসেবে কাজ করে টেক্সট ম্যানিপুলেশন এবং যাচাইয়ের জন্য।common.read_more