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

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]");

  

C#正则表达式简单案例解析的更多相关文章

  1. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  2. Spring Kafka和Spring Boot整合实现消息发送与消费简单案例

    本文主要分享下Spring Boot和Spring Kafka如何配置整合,实现发送和接收来自Spring Kafka的消息. 先前我已经分享了Kafka的基本介绍与集群环境搭建方法.关于Kafka的 ...

  3. python小练--使用正则表达式将json解析成dict

    练习python语法,自己实现了一个简单的解析json字符,存为dict字典对象. { "id":12, "name":"jack", &q ...

  4. SSM框架整合(Spring+SrpingMVC+Mybatis) 简单案例

    简介: SSM框架是Spring,SpringMVC 和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,dao层四层. Spring实现 ...

  5. SpringBoot基础学习(一) SpringBoot概念、简单案例实现、单元测试及热部署讲解

    SpringBoot概念 Spring优缺点分析 Spring优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品,无需开发重量级的 ...

  6. SQL Server 连接问题案例解析(1)

    SQL Server 连接问题案例解析(1) 转载自:http://blogs.msdn.com/b/apgcdsd/archive/2015/04/27/sql.aspx?CommentPosted ...

  7. Servlet请求头response应用简单案例

    Servlet请求头response应用简单案例:访问AServlet重定向到BServlet,5秒后跳到CServlet,并显示图片: AServlet package cn.yzu; import ...

  8. winform 通过 html 与swf 交互 简单案例

    在上一篇 winform 与 html 交互 简单案例 中讲了winform与html之间的简单交互,接下来的内容是在winform中以html为中转站,实现将swf嵌入winform中并实现交互. ...

  9. [Design Pattern] Front Controller Pattern 简单案例

    Front Controller Pattern, 即前端控制器模式,用于集中化用户请求,使得所有请求都经过同一个前端控制器处理,处理内容有身份验证.权限验证.记录和追踪请求等,处理后再交由分发器把请 ...

随机推荐

  1. one hot 编码的实现

    one hot 编码,针对的是类别性属性(categorical),类别型属性可以为特征向量中的任一属性,比如性别(one hot 编码的意义在于,属性之间不具有数值上大小的区别,在对最后结果的影响上 ...

  2. 机器学习: TensorFlow 的数据读取与TFRecords 格式

    最近学习tensorflow,发现其读取数据的方式看起来有些不同,所以又重新系统地看了一下文档,总得来说,tensorflow 有三种主流的数据读取方式: 1) 传送 (feeding): Pytho ...

  3. github push出错(1)You can't push to git:// Use https://

    fatal: remote error: You can't push to git://github.com/niexiaobo/remote.git Use https://github.com/ ...

  4. Centos Apache和tomcat集成配置,同一时候支持PHP和JAVA执行

    近期因为项目的须要,须要再原来执行Tomcatserver上支持PHP执行.非常显然,PHP执行使用的是Apacheserver.尽管Tomcat也属于Apache,可是并没有现有的环境,须要我们自己 ...

  5. hbase 从hdfs上读取数据到hbase中

    <dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifact ...

  6. Centos 6.x 配置hadoop的环境变量

    1.安装jdk 原来是用的rpm安装的1.7,所以先使用rpm -qa|grep jdk,找到安装的1.7后 rpm -e --nodeps xxx.使用securecrt把官网下载的jdk-8u18 ...

  7. 让Duilib多线程编程更easy

    一.Duilib不能开发多线程程序? 记得非常久曾经就听有人说过Duilib的多线程支持性不好,原因是Duilib里面的控件是用数组管理的全局变量,不能进行多线程訪问,加锁非常麻烦.事实上这个说法是非 ...

  8. smarty循环

    1. 功能说明,在页面使用smarty循环100次输出,类似for循环100次{section name=total loop=100}{$smarty.section.total.index+1} ...

  9. WPF-WPF BitmapEffect (按钮凹凸效果)

    原文:WPF-WPF BitmapEffect (按钮凹凸效果) BitmapEffect位图效果是简单的像素处理操作.它可以呈现下面几种特殊效果.              BevelBitmapE ...

  10. WPF太阳、地球、月球运动轨迹模拟

    原文:WPF太阳.地球.月球运动轨迹模拟 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yangyisen0713/article/details/ ...