C#正则表达式(通俗易懂)

    正则表达式有多重要,话不多说,直接入正题把。

    首先我们来说说元字符。

     1、 . 点号代表除了换行意外的任意单个字符

     例如 a.b  说明a和b之间只能有任意一个字符。

     2、[]代表从这里面取出任意一个字符

     例如 a[xyz]b 符合的有 axb ayb azb

     3、 ^:这个是取反

     例如 a[^xyz]b 自己想想

     下面来说说常见的限定符

      1、*:表示可以出现零次或多次,*表示可以有也没有

      2、+ 表示至少出现一次,可以出现多次

      3、?表示出现一次或零次

      4、{n}必须出现n次

      5、{n,}至少出现n次

      6、{n,m}至少n次,最多m次

      

     下面来说说:正则表达式的提取组问题,我们都都知道括号有改变优先级的作用,比如

     z|hello 结果,是啥,(z|h)ello。

     括号还有一个作用就是提取组的作用。

     最经常看到的需求就是把网页里面的邮箱163,sohu,gmail,qq分组来做

     这里就是提取组的用法实例之一

     再下来简单的说说:正则表达式的贪婪模式把。    

     string str="啊哈哈hello world嘎嘎"
     string regStr="[a-zA-Z]+";
     //当正则表达式的式进行提取的时候,如果一个字符也能匹配,多个字符匹配,这时,会按照使用最多字符来匹配。
     如何终结贪婪模式呢
     ?跟在限定符后面
      当你终结贪婪模式的时候,会按照最小的来匹配。
 
     正则表达式应用非常广,主要是因为它在做某些操作的时候,比较方便,效率呢,不是正则表达式的优势。
     欢迎大家讨论
     
 
  
    

     

      

    

原文地址:https://www.cnblogs.com/gdouzz/p/6591733.html