Säännöllisten lausekkeiden käyttö

C#:
Säännöllisten lausekkeiden käyttö

Kuinka:

Yksinkertainen mallin tunnistaminen

Tarkistaaksesi sisältääkö merkkijono tietyn mallin, voit käyttää Regex.IsMatch-metodia System.Text.RegularExpressions-nimiavaruudesta.

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);  // Tuloste: True
    }
}

Tietojen poimiminen

Tiedon poimiminen merkkijonosta käyttäen ryhmiä regexissä voidaan tehdä Regex.Match-metodilla.

using System;
using System.Text.RegularExpressions;

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

        if (match.Success)
        {
            Console.WriteLine($"Vuosi: {match.Groups[1].Value}");  // Tuloste: Vuosi: 2023
            Console.WriteLine($"Kuukausi: {match.Groups[2].Value}");  // Tuloste: Kuukausi: 04
            Console.WriteLine($"Päivä: {match.Groups[3].Value}");  // Tuloste: Päivä: 12
        }
    }
}

Tekstin korvaaminen

Regex.Replace-metodin avulla voit korvata merkkijonossa olevan tekstin, joka vastaa tiettyä mallia.

using System;
using System.Text.RegularExpressions;

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

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

        Console.WriteLine(result);  // Tuloste: Vieraile Googlessa!
    }
}

Merkkijonojen jakaminen

Voit jakaa merkkijonon taulukoksi perustuen regex-malliin käyttäen Regex.Split-metodia.

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string sampleText = "yksi,kaksi,kolme,neljä,viisi";
        string pattern = ",";

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

        foreach (string item in result)
        {
            Console.WriteLine(item);
        }
        // Tuloste: 
        // yksi
        // kaksi
        // kolme
        // neljä
        // viisi
    }
}

Kolmannen osapuolen kirjastojen käyttö

Vaikka .NET Framework tarjoaa laajat valmiudet säännöllisiin lausekkeisiin, on myös kolmannen osapuolen kirjastoja, kuten PCRE.NET, jotka tarjoavat Perl-yhteensopivia säännöllisiä lausekkeita (PCRE) C#:ssa. Tämä voi olla hyödyllistä, jos tarvitset ominaisuuksia tai syntaksia Perl:n regex-moottorista, jotka eivät ole saatavilla .NET:n toteutuksessa.

PCRE.NET:n käyttämiseksi asentaisit ensin sen NuGet-paketin, ja sen jälkeen voit käyttää sitä samankaltaisella tavalla kuin käytät natiivia .NET regex-luokkia.

// Esimerkki käyttäen PCRE.NET tässä
// Huom: Kuvittele esimerkki, samankaltainen kuin yllä, räätälöity esittelemään ominaisuutta, joka on ainutlaatuinen PCRE.NET:lle.

Kun integroit kolmannen osapuolen kirjastoja säännöllisiin lausekkeisiin, konsultoi aina niiden dokumentaatiota yksityiskohtaisen käyttö- ja yhteensopivuustiedon saamiseksi.