随风_C#_正则表达式入门

a、定义

它使用一种数学算法来解决计算机程序中的文本检索、匹配等问题。

b、应用

判断用户输入的密码是否合法,判断用户输入的邮箱格式是否合法......

c、元字符
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

        string str = "miss_(suifeng)/5856";
        print(str);
        //匹配条件为0-9数字或a-z字母
        string pat = @"\d|[a-z]";
        Regex reg = new Regex(pat);
        //输出匹配字符
        MatchCollection matcol = reg.Matches(str);
        foreach(Match match in matcol)
        {
            print(match.ToString());
        }
//人名分割
        string name = "zhang.liming;zhao、wang.liu";
        print(name);
        string pattern = @"[.;、.]";
        string[] array = Regex.Split(name, pattern);
        foreach (string item in array)
        {
            print(item);
        }

在这里插入图片描述
d、脚本示例

using System;
using System.Text.RegularExpressions;
/*
 * c#编程高级学习
 * 正则表达式 
 * 静态方法
 * IsMatch   判断字符串与正则表达式字符串是否匹配
 * Match   Matchs
 * Replace   替换功能
 * Split   将文本拆分为一个字符串数组
 * 2020/4/7
 */
namespace 正则表达式
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "I am hero";
            //定位元字符
            //在开头添加一个字符串
            string res0 = Regex.Replace(s, "^", "开始:");   //匹配字符串开始位置
            //在结尾添加一个字符串
            string res1 = Regex.Replace(s, "$", "结束");   //匹配字符串结束位置
            //Console.WriteLine(res1);

            //示例:判断用户输入的是否合法(全部为数字)
            string input = Console.ReadLine();
            //方法1
            //bool isMatch = true;   //默认input为一个合法密码
            //for(int i = 0; i< input.Length; i++)
            //{
            //    if (input[i] < '0' || input[i] > '9')
            //    {
            //        isMatch = false;
            //        break;
            //    }
            //}
            //if (isMatch == true)
            //{
            //    Console.WriteLine("输入密码合法");
            //}
            //else
            //{
            //    Console.WriteLine("输入密码不合法");
            //}
            //方法2
            //*  此处表示开头和结尾之间有0个或多个\d类型的字符
            string pattern = @"^\d*$";
            bool isMatch = Regex.IsMatch(input, pattern);
            Console.WriteLine(isMatch);
            //分组()
            //匹配以ab开头的字母、数字、下划线、汉字2次的基础上,再匹配2次
            string strGroup = @"(ab\w{2}){2}";  //相当于  @"ab\w{2}ab\w{2}"
            Console.ReadKey();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值