zoukankan      html  css  js  c++  java
  • 正则表达式看过来

    1、正则表达式:字符串中字符出现的规则定义,可以看做一种语法经过压缩的程序语言。

      正则表达式使用界定符保卫正则字符串作为正则表达式的代码,常见界定符“/”,"#","~"或者括号() []  {}

    2、语法组成

      正则表达式中的语法分为数据结构逻辑控制

      数据结构:1、常用字符串:普通字符组成;2、变量字符串:特殊字符组成

      逻辑控制:1、匹配内容获取与引用;2、匹配位置内容判断;3、匹配内容次数控制;4、匹配逻辑或选择

    3、正则表达式的数据结构

      3-1 匹配常量字符串 “/hello/” 忽略大小写“/hello/i”

      3-2 变量字符:

      简单变量字符使用,带有转移的单个特殊字符表示

      d 匹配一个数字字符   等价于[0-9]

      D匹配一个非数字字符  等价于[^0-9]

      s匹配一个任意空白字符  等价于[ vf]

      S匹配一个任意非空白字符  等价于[^ vf]

      w匹配一个字母/数字/下划线/汉字字符  等价于[A-Za-z0-9]

      W匹配一个非字母/数字/下划线/汉字字符  等价于[^A-Za-z0-9]

      . 匹配一个除换行 外的任意字符   等价于[^ ]

       

       匹配一个换行符 等价于x0a和cl

       匹配一个回车符 等价于x0ad和cm

       匹配一个水平制表符 等价于x09和ci

      v 匹配一个垂直制表符 等价于x0b和ck

      f 匹配一个换页符 等价于xoc和cl

      匹配数字字符“/d/”

      匹配空白字符 /s/

      匹配单词字符 /w/  

      3-3 逻辑控制

      

     

      

    4、预判断:在正则表达式 前先预读整个字符串进行初步匹配(?=表达式)先浏览字符串是否满足表达式的要求

    先检查字符是否有“不满足”表达式要求的;例(?=[47]$)判断字符串中是否含有4或7

    5、例子

      邮箱验证:一般的email,形如zhangshan@163.com,abc@sina.com.cn这样一些常用的形式就行了,但是在我们公司的一些客户中邮箱却有一些

    zhangshna.Mr@163.com,abc_Wang.dd@sian.com,abc_Wang.dd.cc@sian.com这 种类似的形式,在@符号之前还有点.原来是拿来就用,可是现在就不行,得自己研究正则的用法了

     原来的正则表达式  /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/;

    根据实际情况修改  /^(w)+(.w+)*@(w)+((.w{2,3}){1,3})$/;

    或者更加简洁的     /^(w)+(.w+)*@(w)+((.w+)+)$/;

    佳物不独来,万物同相携。
  • 相关阅读:
    打包下载,byte[] ,
    .net mvc 异常处理 IExceptionFilter,保存请求参数
    c# webapi websocket 服务端消息发送
    mailkit用163发邮件
    使用OPCAutomation实现对OPC数据的访问,“对 COM 组件的调用返回了错误 HRESULT E_FAIL”错误
    .net core 获取客户端ip
    C#读取OPC server
    Makedown语言常用语法
    ops:Rsync和Scp区别
    ops:Linux /bin,/sbin,/usr/sbin, /usr/local/bin区别
  • 原文地址:https://www.cnblogs.com/rongrongtu/p/5698189.html
Copyright © 2011-2022 走看看