C#正则表达式基础(10分钟快速入门)

           //限定符
            string str = "abc ga1234gaa123ga abbc abbbbbbc";
            //gaa? 匹配gaa后面的a一次或多次 ga gaa
            var  result1 = Regex.Matches(str, "gaa?");

            //ab*c b可有可无,也可以有多个 ac abc abbbc
            var result2 = Regex.Matches(str, "ab*c");

            //ab+c 只能匹配abc abbc 
            var result3= Regex.Matches(str, "ab+c");

            //ab{6}c b出现6次 abbbbbbc 
            var result4= Regex.Matches(str, "ab{6}c");

            //ab{2,6}c b出现2到6次  abbc abbbbbbc 
            var result5 = Regex.Matches(str, "ab{2,6}c");

            //ab{2,}c b出现2次以上  abbc abbbbbbc 
            var result6 = Regex.Matches(str, "ab{2,}c");

            //(ab)+ ab出现多次  abbc abbbbbbc 
            var result7 = Regex.Matches(str, "(ab)+");



            str = "a cat a dog a bird  123 abc ";
            //或运算
            //a (cat|dog)
            var result8 = Regex.Matches(str, "a (cat|dog)");

            //[^0-9] 所有非数字单个字符 包含空格
            var result9 = Regex.Matches(str, "[^0-9]");
            //[^0-9]* 所有非数字字符 包含空格 空格为单个字符
            var result10 = Regex.Matches(str, "[^0-9]*");
            //[^0-9]+ 所有非数字字符 包含空格
            var result11 = Regex.Matches(str, "[^0-9]+");

            // \d 数字 0-9                    \D非数字字符
            // \w 字符 数字或字符或下划线     \W非单词字符
            // \s 同时包含空白符和换行符      \S非空白字符
            // . 表示任意字符,但不包含换行符
            // ^匹配行首 $匹配行尾

            //<.+> 贪婪匹配
            str = "<span><b>this is a sample text</b></span>";
            var result12 = Regex.Matches(str, "<.+>");

            //<.+?> 匹配所有<>中的内容,包含<>本身  ?将贪婪匹配切换成了懒惰匹配
            str = "<span><b>this is a sample text</b></span>";
            var result13 = Regex.Matches(str, "<.+?>");

 

posted @ 2021-09-02 10:35  哪啊哪啊神去村  阅读(5)  评论(0编辑  收藏  举报