Blogger Information
Blog 42
fans 0
comment 0
visits 36453
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
20191017作业正则
庆选的博客
Original
660 people have browsed it

$a = preg_match_all($pattem, $subject, $matches);

其中 这个函数返回筛选次数。

其中:先定义变量是$pattem:过滤字段;$subject:被过滤字段。

         后生成数组 $matches:$subject中和$pattem一样字段会被切割出来放在数组 $matches中。

$a代表筛选次数。

匹配条件详解:

//$pattem = '/0/';  匹配字段中 0字符
//$pattem = '/\n/';匹配字段中 换行 字符
//$pattem = '/[0-9]/';匹配字段中 0-9 字符
//$pattem = '/12./';匹配字段中 12后面加任意值字符
//$pattem = '/12|90/'; 匹配字段中 数字12或90的字符
//$pattem = '/[12345]/'; 匹配字段中 1,2,3,4,5字符
//$pattem = '/[^12345]/';匹配字段中 除了 1,2,3,4,5外字符
//$pattem = '/^[12345]/';匹配字段中 非12345字符
//$pattem = '/[0-9a-zA-Z]$/';匹配字段中 以[0-9a-zA-Z]结尾的字符
//$pattem = '/[0-9a-zA-Z]{4}/';匹配字段中  [0-9a-zA-Z] 中出现4次的 字符
//$pattem = '/[0-9a-zA-Z]{4,}/'; 匹配字段中 出现[0-9a-zA-Z]不少于4次字段
//$pattem = '/[0-9a-zA-Z]{4,5}/'; 匹配字段中 出现[0-9a-zA-Z]不少于4次且不多于5次字段
//$pattem = '/[0-9a-zA-Z]*/';
//$pattem = '/[0-9a-zA-Z]+/';
//$pattem = '/[0-9a-zA-Z]?/';
//$pattem = '/\d/';  等价于 [0-9]
//$pattem = '/\D/';  等价于 ^[0-9]
//$pattem = '/\w/';  等价于[0-9a-zA-Z_]
//$pattem = '/\W/';  等价于^[0-9a-zA-Z_]
//$pattem = '/\s/';  匹配任意一个空白字符(非打印)
//$pattem = '/\S/';  匹配任意一个除空白字符以外的字符
//$pattem = '/\b/';  匹配单词边界
//$pattem = '/\B/';  匹配除单词边界以外的部分
//$pattem = '/\+ /';
//$pattem = '/(小猫|小兔)|[0-9]/';
//$pattem = '/ou.*/';
//$pattem = '/ou.*/U';
//$pattem = '/ouming/i';
//$pattem = '/OUMING./s';
//$pattem = '/000/x';

实例

<?php
//条件
//$pattem = '/0/';  匹配字段中 0字符
//$pattem = '/\n/';匹配字段中 换行 字符
//$pattem = '/[0-9]/';匹配字段中 0-9 字符
//$pattem = '/12./';匹配字段中 12后面加任意值字符
//$pattem = '/12|90/'; 匹配字段中 数字12或90的字符
//$pattem = '/[12345]/'; 匹配字段中 1,2,3,4,5字符
//$pattem = '/[^12345]/';匹配字段中 除了 1,2,3,4,5外字符
//$pattem = '/^[12345]/';匹配字段中 非12345字符
//$pattem = '/[0-9a-zA-Z]$/';匹配字段中 以[0-9a-zA-Z]结尾的字符
//$pattem = '/[0-9a-zA-Z]{4}/';匹配字段中  [0-9a-zA-Z] 中出现4次的 字符
//$pattem = '/[0-9a-zA-Z]{4,}/'; 匹配字段中 出现[0-9a-zA-Z]不少于4次字段
//$pattem = '/[0-9a-zA-Z]{4,5}/'; 匹配字段中 出现[0-9a-zA-Z]不少于4次且不多于5次字段
//$pattem = '/[0-9a-zA-Z]*/';
//$pattem = '/[0-9a-zA-Z]+/';
//$pattem = '/[0-9a-zA-Z]?/';
//$pattem = '/\d/';  等价于 [0-9]
//$pattem = '/\D/';  等价于 ^[0-9]
//$pattem = '/\w/';  等价于[0-9a-zA-Z_]
//$pattem = '/\W/';  等价于^[0-9a-zA-Z_]
//$pattem = '/\s/';  匹配任意一个空白字符(非打印)
//$pattem = '/\S/';  匹配任意一个除空白字符以外的字符
//$pattem = '/\b/';  匹配单词边界
//$pattem = '/\B/';  匹配除单词边界以外的部分
//$pattem = '/\+ /';
//$pattem = '/(小猫|小兔)|[0-9]/';
//$pattem = '/ou.*/';
//$pattem = '/ou.*/U';
//$pattem = '/ouming/i';
//$pattem = '/OUMING./s';
//$pattem = '/000/x';



echo '<hr>'.'<h3>原子结果</h3>';
//preg_match_all(筛选目标,被筛选字段,筛选中数据组成数组);返回为被筛选中次数
$pattem = '/0/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem,$subject,$matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>非打印字符结果</h3>';
$pattem = '/\n/';
$subject = '1111222233334444555566667777888
8999900000 aaabbbcccddde
eefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>自定义字符</h3>';
$pattem = '/[0-9]/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>二、元字符( . ) 括号里的匹配符,匹配除换行符之外的任意一个字符</h3>';
$pattem = '/12./';
$subject = '111122223333444455556126667777888899991200000 aaabbbc12ccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果

echo '<hr>'.'<h3>( | ) 括号里的匹配符,匹配2个或多个分支</h3>';
$pattem = '/12|90/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>( [ ] ) 括号里的匹配符,匹配方括号内指定的任意一个原子</h3>';
$pattem = '/[12345]/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>( [^ ] ) 括号里的匹配符, 匹配除方括号内指定原子以外的任意一个原子</h3>';
$pattem = '/[^12345]/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>( ^ ) 123456括号里的匹配符,匹配字符串开始位置,一串字符串,必须从这里开始</h3>';
$pattem = '/^[12345]/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>( $ ) 括号里的匹配符,匹配字符串结束位置</h3>';
$pattem = '/[0-9a-zA-Z]$/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>三、量词(限定符){n} 表示前面原子出现n次</h3>';
$pattem = '/[0-9a-zA-Z]{4}/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>{n,} 表示前面原子出现不少于n次</h3>';
$pattem = '/[0-9a-zA-Z]{4,}/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>{n,m} 表示前面原子至少出现n次,最多出现m次</h3>';
$pattem = '/[0-9a-zA-Z]{4,5}/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>( * ) 匹配0次、1次或多次前面原子</h3>';
$pattem = '/[0-9a-zA-Z]*/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>( + ) 匹配1次或多次前面原子</h3>';
$pattem = '/[0-9a-zA-Z]+/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>(?) 匹配0次或1次前面原子</h3>';
$pattem = '/[0-9a-zA-Z]?/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>四、预定义字符 \d 匹配任意一个十进制数 等价于 [0-9] </h3>';
$pattem = '/\d/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>\D 匹配任意一个除十进制以外的字符 等价于 ^[0-9] </h3>';

$pattem = '/\D/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>\w 匹配任意一个字母/数字/下划线字符 等价于 [0-9a-zA-Z_] </h3>';

$pattem = '/\w/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>\W 匹配任意一个除字母/数字/下划线之外的字符 等价于 [0-9a-zA-Z_] </h3>';

$pattem = '/\W/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>\s 匹配任意一个空白字符(非打印) </h3>';

$pattem = '/\s/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>\S 匹配任意一个除空白字符以外的字符</h3>';

$pattem = '/\S/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>\b 匹配单词边界</h3>';

$pattem = '/\b/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>\B 匹配除单词边界以外的部分</h3>';

$pattem = '/\B/';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>五、特殊字符
特殊字符需要在符号前面增加\转义
需转义符号: \ * + ? . | ^ $ [ ] ( )</h3>';

$pattem = '/\+ /';
$subject = '11112222333344445555666677778888999900000 + * ? aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>六、分组符
( ) 匹配其整体为一个原子[模式单元],即多个原子组成的大原子)</h3>';

$pattem = '/(小猫|小兔)|[0-9]/';
$subject = '小猫 小兔 11112222333344445555666677778888999900000 + * ? aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果



echo '<hr>'.'<h3>八、修正符(在界定符后面)
多个修正符可以组合在一起使用

( U ) 表示取消贪婪模式

正则表达式有:贪婪模式和懒惰模式
正则表达式默认是贪婪模式一</h3>';

$pattem = '/ou.*/';
$subject = '小猫 小兔 11112222333344445555666677778888999900000 + * ? aaabbbcccdddeeefffggghhhiiijjjjkkkk ouming ouxiao';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果

echo '<hr>'.'<h3>八、修正符(在界定符后面)
多个修正符可以组合在一起使用

( U ) 表示取消贪婪模式

正则表达式有:贪婪模式和懒惰模式
正则表达式默认是贪婪模式二</h3>';

$pattem = '/ou.*/U';
$subject = '小猫 小兔 11112222333344445555666677778888999900000 + * ? aaabbbcccdddeeefffggghhhiiijjjjkkkk ouming ouxiao';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>( i ) 表示和模式进行匹配时忽略大小写</h3>';

$pattem = '/ouming/i';
$subject = '小猫 小兔 11112222333344445555666677778888999900000 + * ? aaabbbcccdddeeefffggghhhiiijjjjkkkk ouming ouxiao';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>( s ) 被匹配的字符串将视为一行来看,包括换行符,换行符将被视为普通字符串。

( . ) 括号里的匹配符,匹配除换行符之外的任意一个字符</h3>';

$pattem = '/OUMING./s';
$subject = '小猫 小兔 11112222333344445555666677778888999900000 + * ? aaabbbcccdddeeefffggghhhiiijjjjkkkk OUMING ouxiao';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果


echo '<hr>'.'<h3>( x ) 模式中的空白忽略不计</h3>';

$pattem = '/0
0
0/x';
$subject = '小猫 小兔 11112222333344445555666677778888999900000 + * ? aaabbbcccdddeeefffggghhhiiijjjjkkkk OUMING ouxiao';
$a = preg_match_all($pattem, $subject, $matches);
var_dump($a);   // 输出匹配次数
echo '<hr>';
print_r($matches); // 输出匹配结果

?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:qualified

Teacher's comments:还可以, 很用心
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post