zoukankan      html  css  js  c++  java
  • C#正则表达式简单案例解析

    正则表达式主要用于字符串的操作。

    1.Regex.IsMatch:判断指定的字符串是否符合正则表达式。

    2.Regex.Match:提取匹配的字符串,只能提取到第一个符合的字符串。这里还可以使用组来提取。

    通过括号为正则表达式分组,这样在提取时就能获取到组的信息。返回的类型是Match,通过Value拿到值。

    组信息是通过索引区分的,其中0表示整个匹配的字符,1表示第一个括号内的字符。

    string sss = Regex.Match("", "a(.)d").Groups[1].Value;
    

    3.Regex.Matches,提取全部符合的字符。返回值是MatchCollection。操作和Match一致。

    4.正则表达式的书写和业务的分析有关,需要具体分析规律。

    5.|的优先级很低。

    "a|bcd",将匹配到a或bcd。
    

      

                //.NET 默认使用的是Unicode匹配模式 ,可以通过RegexOption枚举加于限制
    //Unicode编码表示“全角”输入
    //去除重复的数据 这里的1表示自引用,代表引用(.),$1表示反引用,也是代表(.),只不过是在不同的地方引用需要使用不同的表达方式
    //这里会把全部的a替换为单个的a,bc同理。
    //(.)匹配除回车换行以为的所有字符,1则自引用(.),+表示出现一次或多次,这样不管这个字符出现多次,都将被替换成(.),完成了业务的需求 string s = "aaaabbbbccc"; textBox1.AppendText(Regex.Replace(s, @"(.)1+", "$1"));
    //邮箱的规律是包含@和. string email = "sdfsd@qq.com"; //需要将.点转义
    //通过w匹配所有的字符,接上@,接上w,接上.,接上w textBox1.AppendText(Regex.IsMatch(email, @"w+@w+.[a-zA-Z]+").ToString());

    string msg = ""; //限定符后加?表示终止贪婪模式,尽可能的少匹配 //默认情况下是贪婪模式,尽可能多的匹配 Match m1 = Regex.Match(msg, "(.)+?"); //判断是否是合法的邮编 邮政编码为5位数字,这里需要使用^$使完全匹配 //^表示开始 $表示结尾 一起用表示要完全匹配 Regex.IsMatch("", "^[0-9]{6}$"); //判断是否为身份证号码 身份证号码可以为15位或者18位 Regex.IsMatch("", @"[d]{15}|[d]{17}[0-9xX]");

      

  • 相关阅读:
    Echarts markPoint 动态数据添加,选择性查询
    echarts timeline点击以后 蓝色的checkpoint位置不跟当前点击的节点重合
    Echarts 动态添加到map显示
    tomcat 下不在tomcat发布项目,引用外部链接
    SQL Server 2008安装
    eclipce 安装 svn插件(百度知道)
    迅为IMX6ULL开发板Linux蜂鸣器实验
    4412开发板-Android4.4典型功能相关源码修改及定制
    IMX6ULL开发平台Linux-LED实验
    迅为iTOP4418开发板运行Android7.1/Qt5.7/Ubuntu12.04系统源码开源
  • 原文地址:https://www.cnblogs.com/xiaoai123/p/6942551.html
Copyright © 2011-2022 走看看