码迷,mamicode.com
首页 > Windows程序 > 详细

C#中正则表达式编程(未完,待补充)

时间:2018-02-18 12:55:24      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:regex   一般模式   each   c#   round   正则表达   int   line   div   

对于只存储一个匹配,可用Match类:

 一般模式:

 

  Regex reg = new Regex(string pattern);

  string str = "###############";

  Match ma = reg.Match(str);

 

  确定是否成功,用 if(ma.Success)判断

  也可以用 if(Regex.IsMatch(str,pattern))

 

================================================================

通用模式:

 

对于要存储多个匹配,可用MatchCollection类 对象存储 :(所以这个更通用,记住这个)

 方式一:

     Regex reg = new Regex(string pattern);

       string str = "###############";

       MatchCollection ma = reg.Matches(str);

   方式二:

      不再通过new Regex(string pattern);声明来传递正则表达式,而是直接 

    string str = "###############";

    MatchCollection ma = RegexMatchesstrpattern

 

===========================================

另:对是否匹配上的判别,有通用的方式:

if (Regex.IsMatch(str, pattern))

========================

小例子:

  class Program
    {
        static void Main(string[] args)
        {
            string pattern = @"ba{2}d";
            string[] words = new string[]{"bad","boy","baad","baaad","bear","bend"};
            //要遍历数组内每一个字符串,看那个可以匹配baad
            Regex regex = new Regex(pattern);

            foreach (string word in words)
            {
                if (Regex.IsMatch(word, pattern))//如果有匹配
                {
                    MatchCollection  mat = regex.Matches(word);
                    for (int i = 0; i < mat.Count; i++)
                    {
                        Console.WriteLine(mat[i].Value);
                    }

                }   

            }

            Console.ReadKey();
        }
    }

 

C#中正则表达式编程(未完,待补充)

标签:regex   一般模式   each   c#   round   正则表达   int   line   div   

原文地址:https://www.cnblogs.com/Jesuslovesme/p/8452690.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!