$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); // 输出匹配结果 ?>
点击 "运行实例" 按钮查看在线实例