php 的正则表达式 (1)

<?PHP 
   /*正则表达式
    *正则表达式描述了一类字符串的特征
*通过这个特征与特定的函数配合
*对其他字符串进行匹配,查找,替换和分割操作
   */ 


    /*
//普通字符和特殊字符组成的一个字符串
   //定界符
   //普通字符:数字,字符
   $partter = '!test!'; //除了字母,数字,反斜线以外的字符都可以用作定界符,不过我们习惯使用‘//’作为定界符
   $arr = 'testasdfsda';
   var_dump(preg_match_all($partter,$arr,$data));
   echo("\n");
   var_dump($data);
   */


   /*元字符


         *\d  匹配任意一个十进制数字
$p = '/te\dst/';
$s = 'te1st';
$s1 = 'tesst';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
var_dump($da);
var_dump($arr);
var_dump($da1);
var_dump($arr);


      *\D  除了(0~9)数字以外的任何字符
$p = '/te\Dst/';
$s = 'te1st';
$s1 = 'tesst';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);


     *\s匹配任意一个空白字符
$p = '/te\sst/';
$s = 'te1st';
$s1 = 'tesst';
$s2 = 'te st;';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
$da2 = preg_match_all($p,$s2,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);
echo("\n");
var_dump($da2);
var_dump($arr);


     *\S  匹配出空白字符以外的任何一个字符
$p = '/te\Sst/';
$s = 'te1st';
$s1 = 'tesst';
$s2 = 'te st;';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
$da2 = preg_match_all($p,$s2,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);
echo("\n");
var_dump($da2);
var_dump($arr);


     *\w  匹配任意一个数字或字母或下划线
$p = '/te\wst/';
$s = 'te1st';
$s1 = 'tesst';
$s2 = 'te_st;';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
$da2 = preg_match_all($p,$s2,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);
echo("\n");
var_dump($da2);
var_dump($arr);


     *\W匹配出数字,字母,下划线以外的任意一个字符
$p = '/te\Wst/';
$s = 'te1st';
$s1 = 'tesst';
$s2 = 'te_st;';
$s3 = 'te!st;';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
$da2 = preg_match_all($p,$s2,$arr);
$da3 = preg_match_all($p,$s3,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);
echo("\n");
var_dump($da2);
var_dump($arr);
echo("\n");
var_dump($da3);
var_dump($arr);


        *  \.   匹配除换行符以外的任意一个字符
$p = '/te\.st/';
$s = 'te.st';
$da = preg_match_all($p,$s,$arr);
var_dump($da3);
var_dump($arr);


     *    元字符:*  匹配0次,1次,或多次其前面的字符
$p = '/te*st/';
$s = 'abc';
$s1 = 'abctest';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);


     *  +   匹配1次或者多次前面的字符
$p = '/te+st/';
$s = 'tesssssst';
$s1 = 'teeeeeeeeeeest';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);


     *  ? 匹配0次或者1次前面的字符
$p = '/te?st/';
$s = 'teeest';
$s1 = 'tst';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);


     *   {n}  n是使用者自主定义的,表示其前面的字符恰好出现n次,放在{n}前面的那个字符应恰好出现n次
$p = '/te{3}st/';
$s = 'teeest';
$s1 = 'test';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);


     *  {n,} n是自主定义的,表示前面字符出现的次数不少于n次
$p = '/te{3,}st/';
$s = 'teeeeeeeeeeeeest';
$s1 = 'teeest';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);


     * {n,m}  n,m是自主定义的,表示其前面出现的字符至少出现n次,最多出现m次
$p = '/te{3,5}st/';
$s = 'teeeeeeeeeeeeest';
$s1 = 'teeeest';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);


     *   .与{n}配合使用
$p = '/te.{3}st/';
$s = 'temmmst';
$s1 = 'teeeest';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);


          .与* 共同使用
$p = '/te.*st/';
$s = 'te123abcst';
$s1 = 'abctst';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);


         . 与 * 与 ? 
$p = '/te.*?st/';
$s = 'teeee123abcsssttestteeeeeeeeeestteeeeeest';
$s1 = 'abctest';
$da = preg_match_all($p,$s,$arr);
$da1 = preg_match_all($p,$s1,$arr);
var_dump($da);
var_dump($arr);
echo("\n");
var_dump($da1);
var_dump($arr);


   */

猜你喜欢

转载自blog.csdn.net/Black_Fox123/article/details/80343322