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

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. php课程 6-22 字符串格式化函数有哪些(精问)

    php课程 6-22 字符串格式化函数有哪些(精问) 一.总结 一句话总结: 1.猜测一下$_GET()怎么来的? 函数赋值给变量的操作:$_YZM=get();   这样就可以很好的解释哪些全局变量 ...

  2. Java对象基础的一些小问题

    1 权限修饰符public protected private default..访问权限修饰符   public protected default private 同类 T T T T 同包 T ...

  3. android仿新浪引导界面

    最近在研究如何做出仿微信,仿新浪等应用,第一次安装使用的使用展示应用程序的新特性和用法. 实现功能:左右手势滑屏 底部小圆点随当前显示页跳动 浮动按钮显示.当触屏事件发生显示,否则就渐渐消失 先转个文 ...

  4. Android 平台下Cordova 调用Activity插件开发

    首先建立一个包名为package com.JiajiaCy.CallActivity; package com.JajaCy.CallActivity; import org.apache.cordo ...

  5. 给博客签上CC协议

    大家都知道开源软件.通过开放源代码的方式,允许用户学习.修改.增进提高这些软件质量.软件界的开源协议很多,比如常见的 Apache,BSD,GPL 等等.这是一种充分利用网络的便利性,鼓励分享和创新的 ...

  6. C++ Lambda表达式基本用法(言简意赅,非常清楚)

    创建一个匿名函数并执行.Objective-C采用的是上尖号^,而C++ 11采用的是配对的方括号[].实例如下: 1 2 3 4 5 6 7 8 9 #include <iostream> ...

  7. WPF依赖属性(续)(3)依赖属性存储

    原文:WPF依赖属性(续)(3)依赖属性存储          在之前的两篇,很多朋友参与了讨论,也说明各位对WPF/SL计数的热情,对DP系统各抒已见,当然也出现了一些分歧. 以下简称DP为依赖属性 ...

  8. [Unity3D]Unity3D游戏开发Lua随着游戏的债券(在)

    ---------------------------------------------------------------------------------------------------- ...

  9. A熟知SP.NET---WebForms UnobtrusiveValidationMode 必须“jquery”ScriptResourceMapping。

    我相信,有过ASP.NET人们学习经验RequiredFieldValidator控制(验证非空控制)一定不会陌生,禁止控制输入定义的内容的作用(该属性InitialValue的值.属性默认值为空字符 ...

  10. 【狼窝乀野狼】Parallel浅尝辄止

    前段时间看到园子里面有同学在用Parallel进行批量插入数据库.后面也有很多同学针对这一事件给出了自己的看法和见解.我在这里不评论内容的好坏,至少能将自己东西总结分享这个是要靠勇气和毅力. 闲话少说 ...