在C#中使用正则表达式最简单的方式

更新记录
本文迁移自Panda666原博客,原发布时间:2021年5月11日。

在.NET中使用正则表达式与其他语言并无太大差异。最简单的使用就是使用Regex类型自带的静态方法。
注意:在.NET中使用正则表达式记得引用命名空间:

using System.Text.RegularExpressions;

检测正则是否匹配成功#

使用Regex.IsMatch方法即可,该方法返回一个bool值。
提示:在本文最底下有完整的实例。
实例代码:

if(Regex.IsMatch(beMatch, pattern))
{
    Console.WriteLine("匹配成功");
}
else
{
    Console.WriteLine("请检查代码");
}

使用正则匹配单个字符串#

使用Regex.Match方法即可,该方法返回一个Match类型实例。
提示:在本文最底下有完整的实例。
实例代码:

Match result1 = Regex.Match(beMatch, pattern);

使用正则匹配多个字符串#

使用Regex.Matches方法即可,该方法返回一个MatchCollection类型实例。
提示:在本文最底下有完整的实例。
实例代码:

MatchCollection result2 = Regex.Matches(beMatch, pattern);

完整实例代码#

using System;
using System.Text.RegularExpressions;
 
namespace RegexTest
{
    class Program
    {
        static void Main(string[] args)
        {
            //被匹配的字符串
            string beMatch = @"https://www.panda666.com|
https://panda666.com|panda666|666|panda";
            //匹配模式
            string pattern = @"(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?";
 
            //检测是否匹配成功
            if(Regex.IsMatch(beMatch, pattern))
            {
                Console.WriteLine("匹配成功");
            }
            else
            {
                Console.WriteLine("请检查代码");
            }
 
            //获得匹配的内容(单个)
            Console.WriteLine("获得匹配的内容(单个)");
            Match result1 = Regex.Match(beMatch, pattern);
            Console.WriteLine(result1.Value);   //匹配到的值
            Console.WriteLine(result1.Success); //匹配是否成功
            Console.WriteLine(result1.Index); //匹配到的起始位置
            Console.WriteLine(result1.Length); //匹配到的值的长度

            //获得匹配内容(多个)
            Console.WriteLine("获得匹配内容(多个)");
            MatchCollection result2 = Regex.Matches(beMatch, pattern);
            foreach (Match item in result2)
            {
                Console.WriteLine(item.Success);
                Console.WriteLine(item.Value);
                Console.WriteLine(item.Index);
                Console.WriteLine(item.Length);
            }

            //wait
            Console.ReadKey();
        }
    }
}

作者:重庆熊猫

出处:https://www.cnblogs.com/cqpanda/p/16151301.html

版权:本作品采用「不论是否商业使用都不允许转载,否则按3元1字进行收取费用」许可协议进行许可。

posted @   重庆熊猫  阅读(101)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示