使用正则表达式

C#:
使用正则表达式

如何操作:

简单模式匹配

要检查字符串是否包含特定模式,您可以使用System.Text.RegularExpressions命名空间中的Regex.IsMatch方法。

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.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.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框架为正则表达式提供了广泛的支持,但也有像PCRE.NET这样的第三方库,它们在C#中提供Perl兼容的正则表达式(PCRE)。如果您需要Perl的正则表达式引擎中未在.NET实现中提供的功能或语法,这会很有用。

要使用PCRE.NET,您首先需要安装它的NuGet包,然后您可以类似于使用原生.NET正则表达式类的方式来使用它。

// 使用PCRE.NET的示例在此处
// 注意:想象一个类似于上述示例的示例,专门用于展示PCRE.NET独有的功能。

在集成第三方正则表达式库时,始终咨询它们的文档,以获取详细的使用和兼容性信息。