zoukankan      html  css  js  c++  java
  • 用正则表达式的观点看待.NET编程设计

                                                                   用正则表达式的观点看待编程设计                                                                       

         前言:正则表达式不仅仅只是用来验证的工具,对正则表达式式的误解就像我们在ajax出现之前只是把javascript看成一种"可有可无的,装饰型"的语种.     其实正则

    表达充斥着我们的编程世界,从最底层的编译器的编译解析,到上层的字符串处理,都是正则表达式.我们重视它吧!

         以前我也只是认为正则表达式这是一种验证的工具,或者处理一些字符串文本,所以对它学习的也不深,直到我开发一个论坛,类似Discuz!NT那样的论坛时,我才重视

    正则表达式.特别是在从后台生成静态页面,和模板的时候,没有正则表达式几乎就不行.

         在我的ASP.NET控件开发系列中有文章提过:我们把aspx页面提交后,编译器其实就是把那些标记,如:<asp:button......./>,用正则表达式模式来解析整个页面

    的,例如,看见<asp:Button id="btn1"/>,就把它解析为一个Button类,然后整个充满标记的aspx页面,就被解析为了一个类(以.cs结尾的类).

         还有例子就是:我们在给别人回复email的时候,我们总可以看见我们要写的回复邮件的标题,地址,以及一些正文都有系统生成好了.

         上面只是说明正则表达式重要的例子,大家想想,我们写的程序,说白了就是一大堆的字符串文本,程序的编译,实际上就是根据相应的规则处理我们程序文本的过

    程,编译器在底层就是在用正则表达式分析我们的程序.也许大家认为我说这些没有作用,因为编译器的怎么干,不关我们什么事,但是明白了正则表达的作用以及机制之

    后,起码可以使得我们对编程更加的顺心.

         所以在开发网站,比如论坛,CMS的时候,不把那些页面看的很神秘,其实就是一堆字符串,也许这样想,我们开发开心一点.

         学习正则表达式,不仅仅只是学会几个其中的几个元字符就OK了的.如,我们都知道*,?,/s,/w等的意义.也能看懂很多的正则表达式.但是我们能够掌握正则表达式的

    机制,随心写出自己想要的,高效匹配的正则表达式吗?为什么有分组的,捕获,正则表达式引擎是怎样回溯的?(要知道一些编译原理的知识)

              

         在下面的内容中,我讲把.NET中有关正则表达式的常用类和方法讲下(C#描述),希望大家之前对正则表达式了解,如果想深入理解正则表达式,我给大家推荐本书"精通正则表达式".

        讲解的内容如下:

         1.快速入门

         2.核心对象详解    

          在.NET中使用 正则表达式要导入

    Code

         1.快速入门     

         1.1在字符串中查找匹配:          

        

    Code

         1.2匹配,并且获得匹配的文本:

    Code

         1.3匹配,并且获得捕获文本

         

    Code

         

         当然,还有使用命名的捕获:如下:

         

    Code

        1.4.查找,替换

         例如:我们一个字符串中的所有a转换为b

         

    Code

         快速入门就说到这里,也不知道大家的想法,如果大家让我说说  2.核心对象详解    ,可以留个言,交流下,因为我觉得没有基本看这些文章.可以不是很好理解,如果大家不爱看,我写出来也没有意义了!

         

    小洋,燕洋天
  • 相关阅读:
    java线程——三种创建线程的方式
    java线程——详解Callable、Future和FutureTask
    商品详情页系统的Servlet3异步化实践
    关于servlet3.0中的异步servlet
    Spring中线程池的应用
    Spring中@Async注解实现“方法”的异步调用
    高性能的关键:Spring MVC的异步模式
    SpringBoot+springmvc异步处理请求
    指定Qt程序运行的style,比如fusion(以前没见过QStyleFactory)
    Linux下获取arm的交叉编译工具链
  • 原文地址:https://www.cnblogs.com/yanyangtian/p/1369340.html
Copyright © 2011-2022 走看看