博客列表 >把正则函数 和 字符串函数,都练习一遍。 把结果发到博客上-2019-10-21

把正则函数 和 字符串函数,都练习一遍。 把结果发到博客上-2019-10-21

H先生
H先生原创
2019年10月21日 23:35:56988浏览


    把正则函数 和 字符串函数,都练习一遍。 把结果发到博客上

    正则函数


火狐截图_2019-10-20T18-57-59.682Z.png




    代码

<?php

echo '<hr>'.'<h3>原子结果</h3>';
$pattem = '/a/';
$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 = '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>二、元字符( . ) 括号里的匹配符,匹配除换行符之外的任意一个字符</h3>';
$pattem = '/12./';
$subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk';
$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>( ^ ) 括号里的匹配符,匹配字符串开始位置,一串字符串,必须从这里开始</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); // 输出匹配结果

?>




    字符串函数


QQ截图20191021030557.png


<?php
echo '<hr>'.'<h3>PHP字符串函数1. explode() 分割字符串</h3>';
$str = 'ouyangke,zhulaoshi,ximen';
$arr = explode(',' , $str);
print_r($arr);


echo '<hr>'.'<h3>2. strstr() 查找字符串在另一字符串中的第一次出现</h3>';
echo strstr('ouyangke','ou');
echo strstr('ouyangke','yang',true);


echo '<hr>'.'<h3>3. strtr() 查找字符串,替换掉查询到的字符串</h3>';
echo strstr('ouyangke','ou');
echo strstr('ouyangke','yang',true);


echo '<hr>'.'<h3>4. strrchr() 查找字符串在另一个字符串中最后一次出现</h3>';
echo strrchr('ouyangke','ou');
echo strrchr('ouyangke','yang');


echo '<hr>'.'<h3>5. ltrim() 移除字符串左侧的空白字符或其他字符</h3>';
echo ltrim(' ouyangke ');


echo '<hr>'.'<h3>6. rtrim() 移除字符串右侧的空白字符或其他字符</h3>';
echo rtrim(' ouyangke ');


echo '<hr>'.'<h3>7. trim() 移除字符串两侧的空白字符和其他字符</h3>';
echo trim(' ouyangke ');
?>





























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