C#:
Використання регулярних виразів
Як:
Простий пошук збігів
Щоб перевірити, чи містить рядок конкретний шаблон, ви можете використати метод Regex.IsMatch
з простору імен System.Text.RegularExpressions
.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string sampleText = "Привіт, Світ!";
string pattern = "Світ";
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 = "Дата: 2023-04-12";
string pattern = @"Дата: (\d{4})-(\d{2})-(\d{2})";
Match match = Regex.Match(sampleText, pattern);
if (match.Success)
{
Console.WriteLine($"Рік: {match.Groups[1].Value}"); // Вивід: Рік: 2023
Console.WriteLine($"Місяць: {match.Groups[2].Value}"); // Вивід: Місяць: 04
Console.WriteLine($"День: {match.Groups[3].Value}"); // Вивід: День: 12
}
}
}
Заміна тексту
Метод Regex.Replace
дозволяє замінювати текст у рядку, який відповідає вказаному шаблону.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string sampleText = "Відвідайте Microsoft!";
string pattern = "Microsoft";
string replacement = "Google";
string result = Regex.Replace(sampleText, pattern, replacement);
Console.WriteLine(result); // Вивід: Відвідайте Google!
}
}
Розбиття рядків
Ви можете розділити рядок на масив на основі шаблону regex, використовуючи метод Regex.Split
.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string sampleText = "один,два,три,чотири,п'ять";
string pattern = ",";
string[] result = Regex.Split(sampleText, pattern);
foreach (string item in result)
{
Console.WriteLine(item);
}
// Вивід:
// один
// два
// три
// чотири
// п'ять
}
}
Використання сторонніх бібліотек
Попри те що .NET Framework надає широкі можливості для регулярних виразів, існують також сторонні бібліотеки, як-от PCRE.NET
, що пропонують регулярні вирази, сумісні з Perl (PCRE) у C#. Це може бути корисно, якщо вам потрібні можливості або синтаксис мотора регулярних виразів Perl, які не доступні у реалізації .NET.
Щоб використовувати PCRE.NET
, вам спочатку потрібно встановити його пакет NuGet, а потім можете використовувати його подібно до того, як ви використовуєте класи регулярних виразів рідного .NET.
// Приклад використання PCRE.NET тут
// Примітка: Уявіть зразок, схожий на вищезазначені, адаптований для демонстрації унікальної можливості PCRE.NET.
При інтеграції сторонніх бібліотек для регулярних виразів завжди консультуйтеся з їхньою документацією для отримання детальної інформації про використання та сумісність.