• PHP学习笔记php教科书上关于正则表达式实例代码(摘要)


    <?php 
            /*posix扩展正则表达式函数*/
            /*---------------------------------------------------*/
            $ereg = '^[$][[:alpha:]_][[:alnum:]]*';
            ereg($ereg,'$_name',$register); //匹配并且存放数组  //eregi()不分大小写
            var_dump($register); //显示数组结构
            
            /*---------------------------------------------------*/
            $ereg = 'tm';
            $str = 'hello,tm,Tm,tM';
            $rep_str=eregi_replace($ereg,'TM',$str); //匹配成功的都用TM替换 ereg_replace() 分大小写
            echo $rep_str;
            
            /*---------------------------------------------------*/
            $ereg = 'is';
            $str = 'This is a register book.';
            $arr_str = spliti($ereg,$str); //分割字符串。按正则匹配 split() 分大小写
            var_dump($arr_str);
            
            
            /*pcre兼容正则表达式函数  --无论从效率或者语法上pcre都略优于posix*/
            /*---------------------------------------------------*/
            $preg = '/\d{3,4}-?\d{7,8}/';
            $arr = array('043212345678','0431-7654321','12345678'); //包含元素数组
            $preg_arr = preg_grep($preg,$arr);
            var_dump($preg_arr);
            
            /*---------------------------------------------------*/
            $str = 'This is an example!';
            $preg = '/\b\w{2}\b/';
            $num1 = preg_match($preg,$str,$str1); //匹配并返回成功个数,把匹配成功的放入数组 成功后,就停止
            echo $num1."<br />";
            var_dump($str1);
            echo "<br />";
            //匹配并返回成功个数,把匹配成功的放入数组 成功后,不停止,直到匹配所有字符结束
            $num2 = preg_match_all($preg,$str,$str2); 
            echo $num2."<br />";
            var_dump($str2);
            
            /*---------------------------------------------------*/
            $str = '!、$、^、*、+、.、[、]、\\、/、b、<、>';
            $str2='b';
            //自动将正则特殊字符进行转义,如果有参数,字符中含参数字符也会被转义
            $match_one = preg_quote($str,$str2); 
            echo $match_one;
            
            /*---------------------------------------------------*/
            $string = '[b]粗体字[/b]';
            //匹配并替换 用了反向引用
            $b_rst = preg_replace('/\[b\](.*)\[\/b\]/i','<b>$1</b>',$string);
            echo $b_rst;
            
            /*---------------------------------------------------*/
            function c_back($str)
            {
                //反向引用
                $str = "<font color=$str[1]>$str[2]</font>";
                return $str;
            }
            $string = '[color=blue]字体蓝色[/color]';
            //preg_replace_callback函数中要替换的字符,换成了回调函数而已和 preg_replace差不多
            echo preg_replace_callback('/\[color=(.*)\](.*)\[\/color\]/U',"c_back",$string);
            
            /*---------------------------------------------------*/
            //此函数书上没有,我自己写的示例给大家!
            $preg = "/\s+/"; //这里也可以换成 "/\s{1,}/";
            $str = "I'm Chinese! I can eat";
            $arr = preg_split($preg,$str); //查找并拆分。--这里有笔误,以前看过的朋友对不住了,现已更正
            var_dump($arr);
        ?>
  • 相关阅读:
    清除Jpanel组件并重绘
    idea配置ssm框架
    java异常机制
    JavaSwing关于GridBagLayout(网格袋布局)的使用
    (趣味哈哈镜)JMF中摄像头相关的问题
    三大WEB服务器(apache lighttpd nginx) 对比分析
    在前台接收jsonp数据(练习)
    cookie存数组的方法
    接口验证每个ip每小时只能访问2次(自己实验:有待改进)
    DOM操作xml数据
  • 原文地址:https://www.cnblogs.com/clouds008/p/3095981.html
Copyright © 2020-2023  润新知