正则表达式的简单使用

前端之家收集整理的这篇文章主要介绍了正则表达式的简单使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@符号
我们经常在正则表达式字符串前面加上@字符,这样不让编译器去解析其中的转义字符,而作为正则表达式的语法(元字符)存在。

在正则表达式中,\是转义字符. * 是元字符 如果要表示一个\ . *字符的话,需要使用\ . *

using System;
using System.Text.RegularExpressions;

namespace _003_正则表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            //==================定位元字符========================
            string s = "blog.csdn.com";
            //^ 匹配开始,,$匹配结束
            string res1 = Regex.Replace(s,"^","www.");
            string res2 = Regex.Replace(res1,"$","/Czhenya");
            Console.WriteLine(res2);           //输出:www.blog.com/Czhenya

            //==================基本语法元字符=====================
            //示例一:校验只允许输入数字
            string str1 = Console.ReadLine();
            //----------通常使用的方法---------
            int count = 0;
            for (int i = 0; i < str1.Length; i++)
            {
                if (str1[i] >='0' && str1[i]<='9')
                {
                    count++;
                }
                else
                {
                    break;
                }
            }
            if (count == str1.Length)
            {
                Console.WriteLine("您输出的密码符合要求,,,");
            }
            else
            {
                Console.WriteLine("您输出的密码不符合要求");
            }
            //--------使用正则表达式-------------
            string str2 = @"^\d*$";  //正则表达式 表示数组字符串
            bool isTrue = Regex.IsMatch(s,str2);
            Console.WriteLine("输入密码是否符合要求:"+isTrue);

            //示例二:校验只允许输入除大小写字母、0-9的数字、下划线_以外的任何字
            string str3 = @"^\W*$";   //表示上述的正则表达式 测试原理同上

            //=====================反义字符====================
            //示例:查找除Czhenya这之外的所有字符
            string str4 = "blog.csdn.com/Czhenya";
            string str5 = @"[^Czhenya]";    //代表除了Czhenya之外的所有字符
            string str6 = Regex.Replace(str4,str5,"*");
            Console.WriteLine(str6);      //输出:********n*****Czhenya

            //======================重复描述字符=================
            //示例:校验输入内容是否为合法QQ号(备注:QQ号为5 - 12位数字)
            string qq1 = "1021570284";
            string qq2 = "1009461014123546";
            string str7 = @"^\d{5,12}$";      //误区:str7 = @"\d{5,12}"; 
            Console.WriteLine(Regex.IsMatch(qq1,str7));  //输出:Ture;
            Console.WriteLine(Regex.IsMatch(qq2,str7)); //输出:False

            //========================择一匹配======================
            //示例:查找数字或字母
            string str8 = "wqjida213暗示法尽快哈就dsa12";
            string str9 = @"\d|[a-z]";
            MatchCollection cols = Regex.Matches(str8,str9);
            for (int i = 0; i < cols.Count; i++)
            {
                Console.WriteLine(cols[i]);
            }
            // 输出:wqjida213dsa12
            //示例:校验国内电话号码(支持三种写法校验 A. 010 - 87654321 B. (010)87654321 C.01087654321 D.010 87654321)
            string str10 = @"\(0\d{2,3}\)[- ]?\d{7,8}|^0\d{2,3}[- ]?\d{7,8}$";

            //匹配IP地址的正则表达式 (0-255.0-255.0-255.0-255)
            string str11 = @"^(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?))$";

            Console.ReadKey();
        }
    }
}

以上程序运行结果图:(输入是312123)

猜你在找的正则表达式相关文章