把正则函数 和 字符串函数,都练习一遍。 把结果发到博客上
正则函数
代码
<?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); // 输出匹配结果 ?>
字符串函数
<?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 '); ?>