C#:
Att använda reguljära uttryck
Hur man gör:
Enkel Mönsterpassning
För att kontrollera om en sträng innehåller ett specifikt mönster kan du använda metoden Regex.IsMatch
från namnrymden System.Text.RegularExpressions
.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string sampleText = "Hej, världen!";
string pattern = "världen";
bool containsPattern = Regex.IsMatch(sampleText, pattern);
Console.WriteLine(containsPattern); // Utdata: True
}
}
Extrahera Data
Att extrahera data från en sträng med hjälp av grupper i ett regex kan göras med metoden Regex.Match
.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string sampleText = "Datum: 2023-04-12";
string pattern = @"Datum: (\d{4})-(\d{2})-(\d{2})";
Match match = Regex.Match(sampleText, pattern);
if (match.Success)
{
Console.WriteLine($"År: {match.Groups[1].Value}"); // Utdata: År: 2023
Console.WriteLine($"Månad: {match.Groups[2].Value}"); // Utdata: Månad: 04
Console.WriteLine($"Dag: {match.Groups[3].Value}"); // Utdata: Dag: 12
}
}
}
Ersätta Text
Metoden Regex.Replace
låter dig ersätta text i en sträng som matchar ett angivet mönster.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string sampleText = "Besök Microsoft!";
string pattern = "Microsoft";
string replacement = "Google";
string result = Regex.Replace(sampleText, pattern, replacement);
Console.WriteLine(result); // Utdata: Besök Google!
}
}
Dela upp Strängar
Du kan dela upp en sträng i en array baserad på ett regex-mönster med metoden Regex.Split
.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string sampleText = "ett,två,tre,fyra,fem";
string pattern = ",";
string[] result = Regex.Split(sampleText, pattern);
foreach (string item in result)
{
Console.WriteLine(item);
}
// Utdata:
// ett
// två
// tre
// fyra
// fem
}
}
Användning av Tredjepartsbibliotek
Även om .NET Framework erbjuder omfattande stöd för reguljära uttryck, finns det också tredjepartsbibliotek såsom PCRE.NET
som erbjuder Perl-kompatibla reguljära uttryck (PCRE) i C#. Detta kan vara användbart om du behöver funktioner eller syntax från Pearls regex-motor som inte är tillgängliga i .NET:s implementation.
För att använda PCRE.NET
, skulle du först installera dess NuGet-paket, och sedan kan du använda det på ett liknande sätt som du använder de inbyggda .NET regex-klasserna.
// Exempel med PCRE.NET här
// Not: Föreställ dig ett exempel liknande dem ovan, anpassat för att visa en funktion unik för PCRE.NET.
När du integrerar tredjepartsbibliotek för reguljära uttryck, konsultera alltid deras dokumentation för detaljerad användnings- och kompatibilitetsinformation.