BLUE.NET

-------- 众里寻她千百度

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

using System.Text.RegularExpressions    //引用正则表达式的命名空间

     class wj

      {

       private bool RegexIsMatch(string b)
        {
            string input = b;
            string pattern = "^-?[0-9]*$";
           
return Regex.IsMatch(input,pattern); //返回正则表达式判断后的bool值(静态)
        }
        private bool IsMatch()
        {
            string input = "^-?[0-9]*$";
            string pattern = @"\d+";
            Regex regex = new Regex(pattern);

            return regex.IsMatch(input); //返回正则表达式判断后的bool值(实例)

        }

       }

       static void Main(string[] args)

       {

             string a=ConSole.ReadLine();

             wj w=new wj();

             if(w.RegexIsMatch(a))

                 {

                     ConSole.WriteLine("您输入的是数值");

                  }

                 else

                 {

                     ConSole.WriteLine("您输入的不是数值");

                  }

               }

 

 

元字符(只能匹配一个位置或集合中的一个字符)

^    匹配行的开始位置

$    匹配行的结束位置

\b    匹配行的开始或结束位置

。   匹配除换行符外的任意字符

\w   匹配单词字符(包括字母,数字,下划线和汉字)

\W 匹配非单词字符

\s    匹配任意的空白字符(空格,制表符,换行符 等等。。)

\S    匹配非空白符

\d    匹配任意数字

\D    匹配任意非数字

字符转义:

\。 表示 。

\*     表示*

\\    表示\

字符类:

集合:[ ]

[0123456789]   表示匹配任何一个数字(一个)

[0-9]    表示匹配任何一个数字(与上一条一个意思)

[a-z]    表示匹配任何一个小写字母

[A-Z]    表示匹配任何一个大写字母

集合中加入^号[^   ]这表示“反义规则” 我们要的字符不在集合中时使用。表示否定该字符类。例:[^a-z]表示正则表达式匹配非小写字母

限定字符:

{n}    重复n次

{n,}    至少重复n次

{n,m}至少重复n次,至多重复m次

   *          至少重复0次与{0,}相等

   +         至少重复1次与{1,}相等

   ?       重复0次或1次与{0,1}相等

   *?        尽可能少地使用重复的第一个匹配

   +?      尽可能少地使用重复但至少使用一次

   ??        使用零次重复(如有可能)或一次重复

{n}?      等同于{n}

   {n,}? 尽可能少地使用重复但至少使用n次

{n,m}? 介于n次和m次之间,尽可能少地使用重复

posted on 2009-03-13 13:41  blue.net  阅读(149)  评论(0)    收藏  举报