zoukankan      html  css  js  c++  java
  • 如鹏网.Net高级技术6.正则表达式

    该段课程主要讲解正则表达式中常用的元字符,限定符,以及正则表达式在C#中如何使用.

    正则表达式的作用:

    正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串

    在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

    基本元字符

    .表示除了 以外的任意的单个字符

    [0-9]表示的是0到9之间任何一个整数数字

    ()提升优先级别和提取组

    |或者,.+是任意字符出现1次到无限次

    .*是任意字符串出现0次到无限次 .?任意字符出现0次到1次 {1,2}一次或两次,{1,}最少一次 d数字,D非数字,s空白,S非空白,w小写字母和数字和汉字,W特殊符号 ^以…开始,$以…结束 案例:提取整个页面所有邮箱**********,下载页面图片

    1.基本内容
    . 除了 以外的任意一个字符

    []表示范围 任意一个
    [0-9] 从0-9 任意一个整数数字
    [a-z]
    [A-Z]
    [a-zA-Z]
    [0-9a-zA-Z]

    () 提升优先级 分组

    | 或者 优先级别最低
    ([0-9])[a-z]|[A-Z] 0e|A
    0|W 只有一个

    2.限定符

    + : +前面的表达式最少出现1次最多无限次 
    [0-9]+ 223428234 
    [A-Za-z]+ a AZa

    * : *前面的表达式最少出现0次最多无限次 (可以什么都没有)
    ([a-z])* fsdfds

    ? : ?前面的表达式最少出现0次最多1次, (可以什么都没有)
    ([a-z])? f
    ?另一个作用:阻止贪婪模式 
    .+? 只匹配一次就不
    先.+ 不行 再.+?

    {1,3} 前面的表达式最少出现1次最多3次 
    [a-z]{1,3} frf ik l 
    {0,} 前面的表达式最少出现0次最多无限次 
    {9,10} 前面的表达式最少出现9次最多10次
    {,9} {100,7} 错误的

    [0-9]   d数字 d{7} [0-9] 都表示数字出现7次

        D非数字

        s 空白符 (空格 tab)
        S 非空白符

        w 字母 数字 汉字
        W 特殊符号

    ^ 以什么开始 或者取非 
        [^0-9] 表示非数字
        ^[0-9] 以数字开头

    $ 以什么结尾
        ^[0-9][a-z]$ 9a 8e :长度为2 必须以数字开头,以小写字母结尾

    案例:

      

      身份证号码:15位 18位   最后一位可能是x 或者X

                   ^ [1-9][0-9]{14}| ^[1-9][0-9]{16}[0-9xX]$

                   ^ [1-9][0-9]{14}([0-9]{2}[0-9xX])?

         邮箱:数字字母-_. &@
                  [0-9a-zA-Z_-.]+@[0-9a-zA-Z_.] +( [.][a-zA-Z]+ ){1,2}    

      

                Console.WriteLine("请您输入邮箱:");
                string email = Console.ReadLine();
                //判断是否匹配
              //  bool result = Regex.IsMatch(email, "^[0-9a-zA-Z_.-]+@[0-9a-zA-Z_.]+([.][a-zA-Z]+){1,2}$");
                // Console.WriteLine(result);
                
                //获取匹配的结果
                Match ma = Regex.Match(email,"^[0-9a-zA-Z_.-]+@[0-9a-zA-Z_.]+([.][a-zA-Z]+){1,2}$");
               
                Console.WriteLine(ma.Value); //显示结果 ,不匹配就为空

        

    如鹏网:http://www.rupeng.com

  • 相关阅读:
    黑客无处不在
    微博对我的影响
    WPF Chart DynamicDataDisplay的横坐标显示日期的解决方案
    java虚拟机中的字节码
    python解释器的使用
    Python学习环境设置
    变量的概念
    创建虚拟环境和常用包
    第三章笔记
    第一章笔记
  • 原文地址:https://www.cnblogs.com/wjs5943283/p/5242843.html
Copyright © 2011-2022 走看看