(三十六)C#编程基础复习——C#正则表达式

正则表达式是一种匹配输入文本的模式,可以用于解析和验证给定文本以及模式之间是否匹配,模式可以包含运算符、字符字面值或结构。

如太明白可以参考这个博主的非常详细:C# 正则表达式 - 每日一bo - 博客园 (cnblogs.com)

一、正则表达式的组成

我们可以使用正则表达式检查给定字符串是否与指定模式相匹配。正则表达式的匹配是由一系列字符组成,其中可以包含数字、文字、运算符、字符等等。我们可以使用这些模式来搜索字符串或文字,并查看是否找到了匹配的项。开发中一般用正则表达式来验证用户输入的信息是否正确,比如邮件地址、手机号码等等。例如:转义字符、字符类、定位符、分组构造、限定符、反向引用构造、备用构造、替换、杂项构造。

二、示例代码

①匹配以“C”开头的词组

namespace _036
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str = "C#教程 C语言中文网 c.biancheng.net正则表达式";
            showMatch(str, @"\bC\S*");
            Console.ReadKey();
        }
        private static void showMatch(string text,string expr)
        {
            Console.WriteLine("正则表达式为:"+expr);
            Console.WriteLine("匹配以C开头的字符串");
            MatchCollection mc = Regex.Matches(text, expr);
            foreach (Match m in mc)
            {
                Console.WriteLine(m);
            }
        }
    }
}

②匹配以“m”开头,以“e”

namespace _037
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str = "make maze and message to measure it";
            showMatch(str, @"\bm\S*e\b");
            Console.ReadKey();
        }
        private static void showMatch(string text,string expr)
        {
            Console.WriteLine("正则表达式为:"+expr);
            Console.WriteLine("匹配以“m”开头,以“e”结尾的单词:");
            MatchCollection mc = Regex.Matches(text, expr);
            foreach(Match m in mc)
            {
                Console.WriteLine(m);
            }
        }
    }
}

③去除字符串中多余的空格

namespace _038
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string input = "C 语言 中文网";
            string pattern = "\\s+";
            Regex rgx = new Regex(pattern);
            string result = rgx.Replace(input, "");
            Console.WriteLine("原始字符串:{0}",input);
            Console.WriteLine("替换后的字符串:{0}",result);
            Console.ReadKey();
        }
    }
}

 

posted @   代号六零一  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示