• C#正则表达式(Regex类)

    正则表达式的主要作用是验证字符串的值是否满足一定的规则,在页面输入数据验证方面的应用比较多。

    例如验证输入的邮箱是否合法、输入的身份证号码是否合法、输入的用户名是否满足条件等。

    正则表达式并不是 C# 语言独有的,在大多数的编程语言中都是支持的,包括一些脚本语言也支持,例如 JavaScript、JQucry 等。

    正则表达式是专门处理字符串操作的,其本身有固定的写法。

    正则表达式的符号主要分为元字符和表示重复的字符,分别如下表所示。

    正则表达式中的元字符
    编号 字符 描述
    1 . 匹配除换行符以外的所有字符
    2 \w 匹配字母、数字、下画线
    3 \s 匹配空白符(空格)
    4 \d 匹配数字
    5 \b 匹配表达式的开始或结束
    6 ^ 匹配表达式的开始
    7 $ 匹配表达式的结束

    正则表达式中表示重复的字符
    编 号 字 符 描 述
    1 * 0次或多次字符
    2 ? 0次或1次字符
    3 + 1次或多次字符
    4 {n} n次字符
    5 {n,M}  n到M次字符
    6 {n, } n次以上字符

    此外,在正则表达式中使用|分隔符表示多个正则表达式之间的或者关系,也就是在匹配某一个字符串时满足其中一个正则表达式即可。

    例如使用正则表达式来验证身份证信息,第一代身份证是由 15 个数字构成的,第二代身份证是由 18 个数字构成的,正则表达式可以写成 \d{15}|\d{18}

    在 C# 语言中使用正则表达式时要用到 Regex 类,该类在 System.Text.RegularExpressions 名称空间中。

    在 Regex 类中使用 IsMatch 方法判断所匹配的字符串是否满足正则表达式的要求。

    【实例】在 Main 方法中从控制台输入一个邮箱,使用正则表达式判断其正确性。

    根据题目要求,在本例中邮箱验证的正则表达式的写法是包含 @,在 @ 前面是字母或者数字、下画线,在 @ 后面也是字母或者数字、下画线,并且字母后面要含有.,在 . 后面还要加上字母或者数字、下画线。具体的代码如下。

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入一个邮箱");
            string email = Console.ReadLine();
            Regex regex = new Regex(@"^(\w)+(\.\w)*@(\w)+((\.\w+)+)$");
            if (regex.IsMatch(email))
            {
                Console.WriteLine("邮箱格式正确。");
            }
            else
            {
                Console.WriteLine("邮箱格式不正确。");
            }
        }
    }

    执行上面的代码,效果如下图所示。

    正则表达式的使用

更多...

加载中...