• C#中简单的正则表达式


    学习C#中简单的正则表达式

    感谢千峰教育的学习视频


    正则表达式:用来判断某个字符串是否匹配一定的格式

    没有代码提示,就是一个字符串

    实例:

    //判断QQ号
    //1、全是数字
    //2、不能以0开头
    //3、长度范围:[5,11]
    using System;
    using System.Text.RegularExpressions;
    public class Example
    {
        public static void Main()
        {
            bool result2 = Regex.IsMatch("123456789", "^[1-9]\d{4,10}$");
            Console.WriteLine(result2);
        }
    }
    
    using System;
    using System.Text.RegularExpressions;
    public class Example
    {
        public static void Main(string[] args)
        {
            // ^:匹配一个字符串的开头
            // $:匹配一个字符串的结尾
            // []:匹配一位字符,这一位字符可以是这个中括号中的任何一个
            // [a-z]:匹配a-z]中任意一个字符
            // [a-zA-Z1-9]:匹配a-z,A-Z,1-9中任意一个字符
            // [^1-9]:表示这一位字符可以是[1-9]之外的任何字符
    
            // +:前面的一位字符连续出现了一次或多次
            // *:前面的一位字符连续出现了0次或多次
            // ?:前面的一位字符连续出现了0次或1次
            // {m}:前面的一位字符连续出现了m次
            // {m,}:前面的一位字符至少连续出现了m次
            // {m,n}:前面的一位字符出现了[m,n]次
    
            // d:[0-9]
            // D:[^0-9]
            //由于d或其他字母,在字符串中可能会被当作转义字符,所以要在前面再加一个,也就是\d,或在字符串开头加@,即@""
    
            // . :通配符,可以匹配任意字符
    
            //实例
            bool result0 = CheckPhoneNumber("18888888888");
            Console.WriteLine(result0);
    
            bool result1 = CheckEmail("xc.luds@gmail.com");
            Console.WriteLine(result1);
    
            string result2 = FixNames("Lily  Lucy     Uncle Wang    Polly    JimGreen");
            Console.WriteLine(result2);
    
            string result3 = CheckPhone("15361130703");
            Console.WriteLine(result3);
        }
        //1、判断一个手机号是否是合法
        public static bool CheckPhoneNumber(string number)
        {
            //正则
            string pattern = "^1[34578]\d{9}$";
    
            //判断是否匹配规则
            return Regex.IsMatch(number, pattern);
             
        }
    
        //2、判断一个邮箱是否是合法的
        public static bool CheckEmail(string Email)
        {
            string pattern = "^[0-9a-zA-Z_\.]+@[0-9a-zA-Z]+\.com$";
            return Regex.IsMatch(Email, pattern);
        }
    
        //3、替换字符串
        public static string FixNames(string names)
        {
                   //将 Lily   Lucy     Uncle Wang     Polly    JimGreen
            //替换为 Lily,Lucy,Uncle Wang,Polly,JimGreen
            string pattern = " {2,}";
            return Regex.Replace(names, pattern, ",");
        }
    
        //4、屏蔽手机号中间四位
        public static string CheckPhone(string phone)
        {
            // 18888888888 =>188****8888
            //分组:可以将一个字符串分成几部分
            //(): 用来表示一个分组
            string pattern = "^(1[34578]\d)(\d{4})(\d{4})$";
    
            //获取每一分组的字符串
            Match match=Regex.Match(phone, pattern);//获取一个匹配的号码
            GroupCollection groups = match.Groups;//获取到所有分组
            string group1 = groups[1].Value;
            string group2 = groups[2].Value;
            string group3 = groups[3].Value;
    
            return group1+"****"+group3;
        }
    }
    
  • 相关阅读:
    iscroll 使用及遇到的问题
    移动端web页面如何适配
    里面的div怎么撑开外面的div让高度自适应
    JavaScript 获取当前时间戳
    css样式 浏览器的读取顺序
    mouseover和mouseenter的区别
    【转】移动端input输入placeholder垂直不居中
    一张png图片 上面有多个图标,如何用CSS准确的知道其中某个图片的坐标
    JVM05——JVM类加载机制知多少
    【Java实用工具】——使用oshi获取主机信息
  • 原文地址:https://www.cnblogs.com/wei1349/p/12918102.html
Copyright © 2020-2023  润新知