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

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

WBOY
WBOYasal
2016-06-13 11:29:371590semak imbas

<?<span php 
        </span><span /*</span><span posix扩展正则表达式函数</span><span */</span>
        <span /*</span><span ---------------------------------------------------</span><span */</span>
        <span $ereg</span> = '^[$][[:alpha:]_][[:alnum:]]*'<span ;
        </span><span ereg</span>(<span $ereg</span>,'$_name',<span $register</span>); <span //</span><span 匹配并且存放数组  //eregi()不分大小写</span>
        <span var_dump</span>(<span $register</span>); <span //</span><span 显示数组结构</span>
        
        <span /*</span><span ---------------------------------------------------</span><span */</span>
        <span $ereg</span> = 'tm'<span ;
        </span><span $str</span> = 'hello,tm,Tm,tM'<span ;
        </span><span $rep_str</span>=<span eregi_replace</span>(<span $ereg</span>,'TM',<span $str</span>); <span //</span><span 匹配成功的都用TM替换 ereg_replace() 分大小写</span>
        <span echo</span> <span $rep_str</span><span ;
        
        </span><span /*</span><span ---------------------------------------------------</span><span */</span>
        <span $ereg</span> = 'is'<span ;
        </span><span $str</span> = 'This is a register book.'<span ;
        </span><span $arr_str</span> = <span spliti</span>(<span $ereg</span>,<span $str</span>); <span //</span><span 分割字符串。按正则匹配 split() 分大小写</span>
        <span var_dump</span>(<span $arr_str</span><span );
        
        
        </span><span /*</span><span pcre兼容正则表达式函数  --无论从效率或者语法上pcre都略优于posix</span><span */</span>
        <span /*</span><span ---------------------------------------------------</span><span */</span>
        <span $preg</span> = '/\d{3,4}-?\d{7,8}/'<span ;
        </span><span $arr</span> = <span array</span>('043212345678','0431-7654321','12345678'); <span //</span><span 包含元素数组</span>
        <span $preg_arr</span> = <span preg_grep</span>(<span $preg</span>,<span $arr</span><span );
        </span><span var_dump</span>(<span $preg_arr</span><span );
        
        </span><span /*</span><span ---------------------------------------------------</span><span */</span>
        <span $str</span> = 'This is an example!'<span ;
        </span><span $preg</span> = '/\b\w{2}\b/'<span ;
        </span><span $num1</span> = <span preg_match</span>(<span $preg</span>,<span $str</span>,<span $str1</span>); <span //</span><span 匹配并返回成功个数,把匹配成功的放入数组 成功后,就停止</span>
        <span echo</span> <span $num1</span>."<br />"<span ;
        </span><span var_dump</span>(<span $str1</span><span );
        </span><span echo</span> "<br />"<span ;
        </span><span //</span><span 匹配并返回成功个数,把匹配成功的放入数组 成功后,不停止,直到匹配所有字符结束</span>
        <span $num2</span> = <span preg_match_all</span>(<span $preg</span>,<span $str</span>,<span $str2</span><span ); 
        </span><span echo</span> <span $num2</span>."<br />"<span ;
        </span><span var_dump</span>(<span $str2</span><span );
        
        </span><span /*</span><span ---------------------------------------------------</span><span */</span>
        <span $str</span> = '!、$、^、*、+、.、[、]、\\、/、b、<、>'<span ;
        </span><span $str2</span>='b'<span ;
        </span><span //</span><span 自动将正则特殊字符进行转义,如果有参数,字符中含参数字符也会被转义</span>
        <span $match_one</span> = <span preg_quote</span>(<span $str</span>,<span $str2</span><span ); 
        </span><span echo</span> <span $match_one</span><span ;
        
        </span><span /*</span><span ---------------------------------------------------</span><span */</span>
        <span $string</span> = '[b]粗体字[/b]'<span ;
        </span><span //</span><span 匹配并替换 用了反向引用</span>
        <span $b_rst</span> = <span preg_replace</span>('/\[b\](.*)\[\/b\]/i','<b>$1</b>',<span $string</span><span );
        </span><span echo</span> <span $b_rst</span><span ;
        
        </span><span /*</span><span ---------------------------------------------------</span><span */</span>
        <span function</span> c_back(<span $str</span><span )
        {
            </span><span //</span><span 反向引用</span>
            <span $str</span> = "<font color=<span $str</span>[1]><span $str</span>[2]</font>"<span ;
            </span><span return</span> <span $str</span><span ;
        }
        </span><span $string</span> = '[color=blue]字体蓝色[/color]'<span ;
        </span><span //</span><span preg_replace_callback函数中要替换的字符,换成了回调函数而已和 preg_replace差不多</span>
        <span echo</span> <span preg_replace_callback</span>('/\[color=(.*)\](.*)\[\/color\]/U',"c_back",<span $string</span><span );
        
        </span><span /*</span><span ---------------------------------------------------</span><span */</span>
        <span //</span><span 此函数书上没有,我自己写的示例给大家!</span>
        <span $preg</span> = "/\s+/"; <span //</span><span 这里也可以换成 "/\s{1,}/";</span>
        <span $str</span> = "I'm Chinese! I can eat"<span ;
        </span><span $arr</span> = <span preg_split</span>(<span $preg</span>,<span $str</span>); <span //查找并拆分。--这里有笔误,以前看过的朋友对不住了,现已更正</span>
        <span var_dump</span>(<span $arr</span><span );
    </span>?>

 

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn