কম্পিউটার টিউটোরিয়াল

C#-এ শুধু নম্বর 위한 Regex প্যাটার্ন লিখা

রেগুলার এক্সপ্রেশন (Regex) হলো একটি প্যাটার্ন যা ইনপুট টেক্সটের সাথে ম্যাচ করা হয়। .NET ফ্রেমওয়ার্ক রেগুলার এক্সপ্রেশন ইঞ্জিন দেয়। প্যাটার্ন ক্যারেক্টার লিটার্যাল, অপারেটর বা কনস্ট্রাক্ট থেকে বানয়।

বেসিক মেটা-ক্যারেক্টার:

* = শূন্য বা অধিক
? = শূন্য বা এক
^ = নট (নেগেশন)
[] = রেঞ্জ (যেমন 0-9, a-z, A-Z)

^ সিম্বল "নট" কন্ডিশন স্পেসিফাই করতে ব্যবহৃত হয়। [] ব্র্যাকেটে রেঞ্জ দেয়া হয়।

উদাহরণ: শুধু নম্বর (এবং অপশনাল ডেসিম্যাল) ভ্যালিডেশন

class Program
{
    public static void Main()
    {
        string num = "123dh";
        Regex regex = new Regex(@"^-?[0-9][0-9,\.]+$");
        var res = regex.IsMatch(num);
        System.Console.WriteLine(res); // False
    }
}

আউটপুট

False

উদাহরণ: বৈধ নম্বর

string num = "123"; // True
string num = "123.67"; // True

Regex ব্যাখ্যা: ^-?[0-9][0-9,\.]+$

  • ^: স্ট্রিং শুরু
  • -?: অপশনাল মাইনাস সাইন
  • [0-9]: প্রথম ডিজিট (০-৯)
  • [0-9,\.]+: এক বা অধিক ডিজিট বা ডট (কমা ও আলাউড আছে, যা সাধারণত ভুল)
  • $: স্ট্রিং শেষ

উন্নত Regex (শুধু ইন্টিজার): ^-?\d+$
উন্নত Regex (ডেসিম্যাল অ্যালোড): ^-?\d+(\.\d+)?$ (কমা নয়, ডট ব্যবহার করুন) ডেসিম্যাল পয়েন্টের জন্য।

  1. জাভাতে JTextField-কে কেবল সংখ্যা গ্রহণ করার জন্য কীভাবে বাধ্য করবেন?

  2. ওয়েবসাইটের জন্য প্রাইভেসি পলিসি লিখার গাইড

  3. ডিস্ক ড্রাইভের রাইট প্রটেকশন (Write Protection) এনাবল/ডিজেবল করা

  4. মাইক্রোসফট ওয়ার্ডে রোমান সংখ্যা মাস্টার করুন: ধাপে ধাপে গাইড