zoukankan      html  css  js  c++  java
  • 特殊字符--元字符

    以下说明了常见元字符的应用。

    代码及执行结果:

      1 <?php 
      2 $pattern='/test/';
      3 $str='abcdaftestbsdfeatest';
      4 var_dump(preg_match_all($pattern,$str,$arr));
      5 var_dump( $arr);
      6  ?>
      7 
      8  <?php 
      9 $pattern='/tdst/';  //d可以匹配0-9之间的任意一个数字,相当于[0-9]
     10 $str='abcdaft0stbsdfeat8st';
     11 var_dump(preg_match_all($pattern,$str,$arr));
     12 var_dump( $arr);
     13   ?>
     14 
     15  <?php 
     16 $pattern='/tDst/';  //D可以匹配0-9之外的任意一个字符
     17 $str='abcdaft@stbsdfeat8st';
     18 var_dump(preg_match_all($pattern,$str,$arr));
     19 var_dump( $arr);
     20   ?>
     21 
     22 <?php 
     23 $pattern='/tsst/';  //s可以匹配一个空白字符,如换行符
    ,回车符
    ,制表符	,垂直制表符
     24 $str='abcdaft@stbsdfeat st';
     25 var_dump(preg_match_all($pattern,$str,$arr));
     26 var_dump( $arr);
     27   ?>
     28 
     29 <?php 
     30 $pattern='/tsst/';  //s可以匹配一个空白字符
     31 $str="abcdaft
    stbsdfeatst";//换行符外用双引号
     32 var_dump(preg_match_all($pattern,$str,$arr));
     33 var_dump( $arr);
     34   ?>
     35 
     36 <?php 
     37 $pattern='/twst/';  //w可以匹配一个数字或字母或下划线
     38 $str='abcdaft0stbsdfeat_sttast';
     39 var_dump(preg_match_all($pattern,$str,$arr));
     40 var_dump( $arr);
     41   ?>
     42 
     43 <?php 
     44 $pattern='/t.st/';  // .可以匹配除换行符以外的任意一个字符
     45 $str="abcdaft
    stbsdfeat_sttast";
     46 var_dump(preg_match_all($pattern,$str,$arr));
     47 var_dump( $arr);
     48   ?>
     49 
     50 <?php 
     51 $pattern='/te*s*t/';  // *可以匹配前面的那个字符0次,1次,多次。
     52 $str="testatstteeest";
     53 var_dump(preg_match_all($pattern,$str,$arr));
     54 var_dump( $arr);
     55   ?>
     56 
     57 <?php 
     58 $pattern='/te+s+t/';  // +可以匹配前面的那个字符1次,多次,不可以不出现。
     59 $str="testatstteeest";
     60 var_dump(preg_match_all($pattern,$str,$arr));
     61 var_dump( $arr);
     62   ?>
     63 
     64 <?php 
     65 $pattern='/te?st/';  // +可以匹配前面的那个字符1次,0次。
     66 $str="testatstteeest";
     67 var_dump(preg_match_all($pattern,$str,$arr));
     68 var_dump( $arr);
     69   ?>
     70 
     71 <?php 
     72 $pattern='/te{2}st/';  // +可以匹配前面的那个字符恰好出现2次。
     73 $str="testatstteest";
     74 var_dump(preg_match_all($pattern,$str,$arr));
     75 var_dump( $arr);
     76   ?>
     77 
     78 <?php 
     79 $pattern='/te{2,}st/';  // +可以匹配前面的那个字符恰好出现2次及以上。
     80 $str="testatstteeeeeest";
     81 var_dump(preg_match_all($pattern,$str,$arr));
     82 var_dump( $arr);
     83   ?>
     84 
     85 <?php 
     86 $pattern='/te{2,4}st/';  // +可以匹配前面的那个字符出现2次,不超过4次。
     87 $str="testatstteeest";
     88 var_dump(preg_match_all($pattern,$str,$arr));
     89 var_dump( $arr);
     90   ?>
     91 
     92 <?php 
     93 $pattern='/t.{3,}st/';  
     94 $str="testattteeesdst";
     95 var_dump(preg_match_all($pattern,$str,$arr));
     96 var_dump( $arr);
     97   ?>
     98 
     99 <?php 
    100 $pattern='/t.*st/';  //贪婪匹配,从第一个t开始匹配,尽可能多的囊括内容
    101 $str="nutatbdeeesdst";
    102 var_dump(preg_match_all($pattern,$str,$arr));
    103 var_dump( $arr);
    104   ?>
    105 
    106 <?php 
    107 $pattern='/t.*?st/';  //懒惰匹配,尽可能短地匹配满足规则的字符串
    108 $str="nutasttbdeeesdst";
    109 var_dump(preg_match_all($pattern,$str,$arr));
    110 var_dump( $arr);
    111   ?>
    112 
    113 <?php 
    114 $pattern='/^tst/';  // ^或A匹配首字符开始位置
    115 $str="tsttbdeeesdst";
    116 var_dump(preg_match_all($pattern,$str,$arr));
    117 var_dump( $arr);
    118   ?>
    119 
    120 <?php 
    121 $pattern='/test$/';  // $匹配字符串结束的位置
    122 $str="tsttbdeeesdtest";
    123 var_dump(preg_match_all($pattern,$str,$arr));
    124 var_dump( $arr);
    125   ?>
    126 
    127 <?php 
    128 $pattern='/^te.*st$/';  //  ^与$匹配指定字符串
    129 $str="te12st";
    130 var_dump(preg_match_all($pattern,$str,$arr));
    131 var_dump( $arr);
    132   ?>
    133 
    134 <?php 
    135 $pattern='/te.*st|abc/';  //  |多个特征
    136 $str="te00stsdabc";
    137 var_dump(preg_match_all($pattern,$str,$arr));
    138 var_dump( $arr);
    139   ?>
    140 
    141 <?php 
    142 $pattern='/t[abc]st/';  //  []中的任意一个字符
    143 $str="tcstsdabc";
    144 var_dump(preg_match_all($pattern,$str,$arr));
    145 var_dump( $arr);
    146   ?>
    147 
    148 <?php 
    149 $pattern='/t[^abc]st/';  //  除[]中以外的任意一个字符
    150 $str="tbsttmstsdabc";
    151 var_dump(preg_match_all($pattern,$str,$arr));
    152 var_dump( $arr);
    153   ?>

    查看执行结果:view-source:http://www.junglexj.com/file/demo01.php


    参考:http://www.sifangku.com/php1/91.html 

  • 相关阅读:
    Linux:sudo,没有找到有效的 sudoers 资源。
    Python中关于CSV文件中的I/O
    Python数据处理进阶——pandas
    脚本的含义
    Common.Logging.dll----------配置方式,可选引用,用于日志输出
    Net作业调度
    MySQL版本介绍
    在 Windows 上安装Rabbit MQ 指南
    版本控制器
    C# 中的占位符本质
  • 原文地址:https://www.cnblogs.com/junglexj/p/6018784.html
Copyright © 2011-2022 走看看