การใช้เรกุลาร์เอ็กเพรสชัน

C#:
การใช้เรกุลาร์เอ็กเพรสชัน

วิธีการ:

การจับคู่รูปแบบง่ายๆ

เพื่อตรวจสอบว่าสตริงมีรูปแบบที่ระบุหรือไม่ คุณสามารถใช้เมธอด Regex.IsMatch จากเนมสเปซ System.Text.RegularExpressions ได้

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string sampleText = "Hello, World!";
        string pattern = "World";
        bool containsPattern = Regex.IsMatch(sampleText, pattern);

        Console.WriteLine(containsPattern);  // ผลลัพธ์: True
    }
}

การสกัดข้อมูล

การสกัดข้อมูลจากสตริงโดยใช้กลุ่มใน regex สามารถทำได้ด้วยเมธอด Regex.Match

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string sampleText = "Date: 2023-04-12";
        string pattern = @"Date: (\d{4})-(\d{2})-(\d{2})";
        Match match = Regex.Match(sampleText, pattern);

        if (match.Success)
        {
            Console.WriteLine($"Year: {match.Groups[1].Value}");  // ผลลัพธ์: Year: 2023
            Console.WriteLine($"Month: {match.Groups[2].Value}");  // ผลลัพธ์: Month: 04
            Console.WriteLine($"Day: {match.Groups[3].Value}");  // ผลลัพธ์: Day: 12
        }
    }
}

การแทนที่ข้อความ

เมธอด Regex.Replace ช่วยให้คุณสามารถแทนที่ข้อความในสตริงที่ตรงกับรูปแบบที่ระบุได้

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string sampleText = "Visit Microsoft!";
        string pattern = "Microsoft";
        string replacement = "Google";

        string result = Regex.Replace(sampleText, pattern, replacement);

        Console.WriteLine(result);  // ผลลัพธ์: Visit Google!
    }
}

การแยกสตริง

คุณสามารถแยกสตริงเป็นอาร์เรย์ตามรูปแบบ regex โดยใช้เมธอด Regex.Split

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string sampleText = "one,two,three,four,five";
        string pattern = ",";

        string[] result = Regex.Split(sampleText, pattern);

        foreach (string item in result)
        {
            Console.WriteLine(item);
        }
        // ผลลัพธ์: 
        // one
        // two
        // three
        // four
        // five
    }
}

การใช้ไลบรารีของบุคคลที่สาม

ในขณะที่ .NET Framework ให้การสนับสนุนนิพจน์ปกติอย่างกว้างขวาง ยังมีไลบรารีของบุคคลที่สามเช่น PCRE.NET ที่เสนอนิพจน์ปกติที่เข้ากันได้กับ Perl (PCRE) ใน C# ซึ่งอาจเป็นประโยชน์หากคุณต้องการคุณลักษณะหรือไวยากรณ์จากเครื่องยนต์ regex ของ Perl ที่ไม่มีในการใช้งานของ .NET

ในการใช้ PCRE.NET คุณจะต้องติดตั้งแพ็คเกจ NuGet ก่อน แล้วคุณสามารถใช้มันได้คล้ายๆ กับการใช้คลาส regex ของ .NET เนทีฟ

// ตัวอย่างการใช้ PCRE.NET ที่นี่
// หมายเหตุ: จินตนาการถึงตัวอย่างที่คล้ายกับตัวอย่างข้างต้น ที่แสดงคุณลักษณะเฉพาะของ PCRE.NET

เมื่อคุณผสานรวมไลบรารีของบุคคลที่สามสำหรับนิพจน์ปกติ โปรดปรึกษาเอกสารของพวกเขาเพื่อข้อมูลการใช้งานและความเข้ากันได้อย่างละเอียด