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

    1.中括号:

      可用来表达要匹配的一定范围内的字符或字符列表。

    1. [0~9] 匹配任何从0到9的十进制数字
    2. [a~z] 匹配任何从小写a到z的字符
    3. [A~z] 匹配任何从大写A到Z的字符
    4. [A~Za~z] 匹配任何从大写A到小写z的字符

    2.量词

    1. p+: 匹配任何至少包含一个p的字符串
    2. p*: 匹配任何包含零个或多个p的字符串
    3. p?: 匹配任何包含零个或一个p的字符串
    4. p{2}: 匹配任何包含两个连续p的字符串
    5. p{2,3}: 匹配任何包含两个或三个连续p的字符串
    6. p{2,}: 匹配任何至少包含两个连续p的字符串
    7. p$: 匹配任何以p结尾的字符串
    8. ^p 匹配任何以p开头的字符串
    9. [^a-zA-Z]:匹配任何不包含a-z和从A-Z字符的字符串
    10. p.p 匹配任何包含字符p、接下来是任何字符、再接下来又是p的字符串
    11. ^.{2}$: 匹配任何只包含两个字符的字符串
    12. <b>(.*)</b> 匹配任何被<b>和</b>包围的字符串
    13. p(hp)* 匹配任何包含一个p,p后面是零个或多个hp的字符串
    14. ([$](0-9)+) 匹配$42、$560、$3

    3. 预定义字符范围(字符类)

    1. [:alpha:] : 小写和大写字母字符。也可以指定为[A-Za-z]
    2. [:alnum:] 小写和大写字母字符以及数字。也可以指定为[A-Za-z0-9]
    3. [:cntrl:] 控制字符,如制表符、退格符或反斜线
    4. [:digit:] 0-9的数字。也可以指定[0-9]
    5. [:graph:] ASCII 33-126范围内的可打印字符
    6. [:lower:] 小写字母字符,也可以指定为[a-z]
    7. [:punct:] 标点符号字符,包括:~、!@#$%^&*()-_+={}[]:';<>,.?/
    8. [:upper:] 大写字母字符。也可以指定为[A-Z]
    9. [:space:] 空白字符,包括空格、水平制表符、垂直制表符、换行、换页、或回车
    10. [:xdigit:] 十六进制字符,也可以指定为[a-fA-F0-9]

    一、 概述

    1. 正则表达式的测试地址: http://tool.chinaz.com/regex/

    1. 二、具体的常用正则表达式

      1. 邮箱正则表达式:
        1)w[-w.+]*@([A-Za-z0-9][-A-Za-z0-9]+.)+[A-Za-z]{2,14}
        2)w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
        3)解析:

          -- ""      叫"跳脱字符"。用于转义一些特殊符号,如".","/"

          -- "w"    等价于 [a-zA-Z0-9_] 。也匹配汉字

          -- "+"      1到多次还可以写成{1,}

          -- 小括号  来指定子表达式(也叫做分组),然后你就可以指定这个子表达式的重复次数了, ([-+.]w+)*

          -- [-+.]    方括号扩起来的部分就是字符域

          -- .          匹配除换行符以外的任意字符

        4)代码示例

      <?php
        $email = 'sishuinianhua@qq.com';
        $preg = '/w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/';
        $res = preg_match($preg, $email, $preg_res);
        var_dump(111,$res,$preg_res);exit;

        -- preg_match() : http://php.net/manual/zh/function.preg-match.php

      2. 网址表达式:

        1) [a-zA-z]+://[^s]+ 

        2)解析:

          -- ^   

            > 放在字符域(如:[^w])中表示否定(不包括的意思)——“反向选择”

                 >  放在表达式之前,表示以当前这个字符开始。(/^n/i,表示以n开头)。

          -- s   匹配任意的空白符

      三、 附录

      1. 常用元字符
      代码    说明
      .    匹配除换行符以外的任意字符
      w    匹配字母或数字或下划线
      s    匹配任意的空白符
      d    匹配数字
          匹配单词的开始或结束
      ^    匹配字符串的开始
      $    匹配字符串的结束


      2.常用限定符
      代码/语法    说明
      *    重复零次或更多次
      +    重复一次或更多次
      ?    重复零次或一次
      {n}    重复n次
      {n,}    重复n次或更多次
      {n,m}    重复n到m次


      3.常用反义词
      代码/语法    说明
      W    匹配任意不是字母,数字,下划线,汉字的字符
      S    匹配任意不是空白符的字符
      D    匹配任意非数字的字符
      B    匹配不是单词开头或结束的位置
      [^x]    匹配除了x以外的任意字符
      [^aeiou]    匹配除了aeiou这几个字母以外的任意字符

  • 相关阅读:
    JS面向对象的程序设计
    dede 调用自定义图片时新增了很多html结构的解决方法
    dedecms arclist 栏目文章列表调用标签
    POJ 3145 Harmony Forever
    URAL K-based Numbers(1-3)
    POj 3420
    Ural 1004 FLOYD最小环问题
    noip2016提高组总结
    POJ 2566 Bound Found
    POJ 1639度限制生成树
  • 原文地址:https://www.cnblogs.com/cexm/p/6113570.html
Copyright © 2011-2022 走看看