正则表达式

正则表达式元字符:
.表示除了\n之外的任意的单个字符
[]字符组,任意的单个字符,中括号中的任意一个字符
[0-9],[a-z],[A-Z]
|表示或的意思,或的优先级比较低,最后再计算
()改变优先级,提取组(分组)
{n}前面表达式必须出现n次
{n,}表示前面的表达式至少出现n次,最多不限。
{n,m}至少出现n次,最多出现m次
*表示出现0次或多次{0,}
+表示出现1次或多次{1,}
?表示0次或1次{0,1} 另外的一个意思是:终止贪婪模式
-----------------------^与$--------------------------------------------
^表示字符串的开始 另外的一个意思是非的意思,出现再[]内例如[^0-9]
$表示字符串的结束
简写的表达式:
a[0-9]b==a\db
\d表示[0-9]
\D表示[^0-9]
\s表示所有空白符,代表换行符
\S表示\s的反面,非空白字符
\w [a-zA-Z0-9]
\W表示反面
\b单词的边界

忽略掉所有的元字符,类似与c#中的@符号
string s=Regex.Escape(@"\d{5,7}");

static void Main(string[] args)
        {
            //取巧的办法:从asp.net的RegularExpressionValidator中抄常用的正则表达式
            
            while (true)
            {
                #region 案例1
                //Console.WriteLine("请输入邮政编码");
                //string postcode = Console.ReadLine();
                表示只要整个字符串中有任何一部分可以匹配,该字符串就会返回true
                 bool f= Regex.IsMatch(postcode, "^[0-9]{6}$");
                //bool f = Regex.IsMatch(postcode, @"^\d{6}$");
                //Console.WriteLine(f);
                #endregion
                #region 案例2
                
                //    Console.WriteLine("请输入一个身份证号码:");
                //    string s = Console.ReadLine();
                //    bool b=Regex.IsMatch(s, @"^([^0]\d{14}|[^0]\d{16}[0-9xX])$");
                //    Console.WriteLine(b);
              
                #endregion
                #region 案例3
              
                Console.WriteLine("请输入一个邮箱:");
                string s = Console.ReadLine();
                bool b = Regex.IsMatch(s, @"^[0-9a-zA-Z_.\-]+@[a-zA-Z0-9\-]+(\.[a-zA-Z]+){1,2}$");
                Console.WriteLine(b);
                
                #endregion
            }

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值