博客列表 >20191017作业正则

20191017作业正则

庆选的博客
庆选的博客原创
2019年10月25日 18:09:15659浏览

$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); // 输出匹配结果

?>

运行实例 »

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议