PHP学习练手(十六)

php中文网
发布: 2016-07-29 09:06:10
原创
972人浏览过


perl兼容的正则表达式


一、函数:

preg_match():指示模式是否与字符串匹配,一旦找到一个匹配返回1,否则返回0preg_match_all():找到所有的匹配preg_replace():实现查找和替换作用

二、简单的模式:
1. 字面量:是一个值,其书写方式与所解释的完全一样。例如,模式a将匹配字母a,ab将匹配ab等。

  1. 定界符:可以是除字母数字或反斜杠外的任何字符,必须使用相同的字符来标记模式的开始和结束。通常使用正斜杠(/)

  2. 元字符 :
    PHP学习练手(十六)

  3. 量词:
    PHP学习练手(十六)

    立即学习PHP免费学习笔记(深入)”;

  4. 常见的字符类别:
    PHP学习练手(十六)


    三、实践:

    1.单一匹配——pcre.php

    今天学点啥
    今天学点啥

    秘塔AI推出的AI学习助手

    今天学点啥 258
    查看详情 今天学点啥
<code><span><!DOCTYPE html></span><span><<span>html</span><span>lang</span>=<span>"en"</span>></span><span><<span>head</span>></span><span><<span>meta</span><span>charset</span>=<span>"UTF-8"</span>></span><span><<span>title</span>></span>Testing PCRE<span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><span><?php</span><span># Script 14.1- pcre.php</span><span>if</span>(<span>$_SERVER</span>[<span>'REQUEST_METHOD'</span>] == <span>'POST'</span>)
        {
            <span>$pattern</span> = trim(<span>$_POST</span>[<span>'pattern'</span>]);
            <span>$subject</span> = trim(<span>$_POST</span>[<span>'subject'</span>]);

            <span>echo</span><span>"<p>The result of checking<br /><b>$pattern</b><br />aganist<br />$subject<br />is</p>"</span>;

            <span>if</span>(preg_match(<span>$pattern</span>, <span>$subject</span>))
            {
                <span>echo</span><span>'TRUE!</p>'</span>;
            }<span>else</span>{
                <span>echo</span><span>'FALSE!</p>'</span>;
            }
        }
    <span>?></span></span><span><<span>form</span><span>action</span>=<span>"pcre.php"</span><span>method</span>=<span>"post"</span>></span><span><<span>p</span>></span>Regular Expression Pattern: <span><<span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"pattern"</span><span>value</span>=<span>"<?php if(isset($pattern)) echo htmlentities($pattern); ?>"</span><span>size</span>=<span>"40"</span>></span>(include the delimiters)<span></<span>p</span>></span><span><<span>p</span>></span>Test Subject: <span><<span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"subject"</span><span>value</span>=<span>"<?php if(isset($subject)) echo htmlentities($subject); ?>"</span><span>size</span>=<span>"40"</span> /></span><span></<span>p</span>></span><span><<span>input</span><span>type</span>=<span>"submit"</span><span>name</span>=<span>"submit"</span><span>value</span>=<span>"Test!"</span>></span><span></<span>form</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>
登录后复制

——实现电子邮件验证:电子邮件开始于字母、数字或下划线,以及句点(.)或短划线。
PHP学习练手(十六)

2.所有匹配——matches.php

<code><span><!DOCTYPE html></span><span><<span>html</span><span>lang</span>=<span>"en"</span>></span><span><<span>head</span>></span><span><<span>meta</span><span>charset</span>=<span>"UTF-8"</span>></span><span><<span>title</span>></span>Testing PCRE<span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><span><?php</span><span># Script 14.1- pcre.php</span><span>if</span>(<span>$_SERVER</span>[<span>'REQUEST_METHOD'</span>] == <span>'POST'</span>)
        {
            <span>$pattern</span> = trim(<span>$_POST</span>[<span>'pattern'</span>]);
            <span>$subject</span> = trim(<span>$_POST</span>[<span>'subject'</span>]);

            <span>echo</span><span>"<p>The result of checking<br /><b>$pattern</b><br />aganist<br />$subject<br />is</p>"</span>;

            <span>if</span>(preg_match_all(<span>$pattern</span>, <span>$subject</span>, <span>$matches</span>))
            {
                <span>echo</span><span>'TRUE!</p>'</span>;
                <span>echo</span><span>'<pre class="brush:php;toolbar:false;">'</span>.print_r(<span>$matches</span>, <span>1</span>).<span>'<pre class="brush:php;toolbar:false;">'</span>;
            }<span>else</span>{
                <span>echo</span><span>'FALSE!</p>'</span>;
            }
        }
    <span>?></span></span><span><<span>form</span><span>action</span>=<span>"matches.php"</span><span>method</span>=<span>"post"</span>></span><span><<span>p</span>></span>Regular Expression Pattern: <span><<span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"pattern"</span><span>value</span>=<span>"<?php if(isset($pattern)) echo htmlentities($pattern); ?>"</span><span>size</span>=<span>"40"</span>></span>(include the delimiters)<span></<span>p</span>></span><span><<span>p</span>></span>Test Subject: <span><<span>textarea</span><span>name</span>=<span>"subject"</span><span>rows</span>=<span>"5"</span><span>cols</span>=<span>"40"</span>></span><span><span><?php</span><span>if</span>(<span>isset</span>(<span>$subject</span>)) <span>echo</span> htmlentities(<span>$subject</span>); <span>?></span></span><span></<span>textarea</span>></span><span></<span>p</span>></span><span><<span>input</span><span>type</span>=<span>"submit"</span><span>name</span>=<span>"submit"</span><span>value</span>=<span>"Test!"</span>></span><span></<span>form</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>
登录后复制

PHP学习练手(十六)

3.匹配和替换——replace.php

<code><span><!DOCTYPE html></span><span><<span>html</span><span>lang</span>=<span>"en"</span>></span><span><<span>head</span>></span><span><<span>meta</span><span>charset</span>=<span>"UTF-8"</span>></span><span><<span>title</span>></span>Testing PCRE<span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><span><?php</span><span># Script 14.1- pcre.php</span><span>if</span>(<span>$_SERVER</span>[<span>'REQUEST_METHOD'</span>] == <span>'POST'</span>)
        {
            <span>$pattern</span> = trim(<span>$_POST</span>[<span>'pattern'</span>]);
            <span>$subject</span> = trim(<span>$_POST</span>[<span>'subject'</span>]);
            <span>$replace</span> = trim(<span>$_POST</span>[<span>'replace'</span>]);

            <span>echo</span><span>$subject</span>;

            <span>echo</span><span>"<p>The result of replacing<br /><b>$pattern</b><br />with<br />$replace<br />in<br />$subject<br /><br />"</span>;

            <span>if</span>(preg_match(<span>$pattern</span>, <span>$subject</span>))
            {
                <span>echo</span> preg_replace(<span>$pattern</span>, <span>$replace</span>, <span>$subject</span>).<span>'</p>'</span>;
            }<span>else</span>{
                <span>echo</span><span>'The pattern was not found!</p>'</span>;
            }
        }
    <span>?></span></span><span><<span>form</span><span>action</span>=<span>"replace.php"</span><span>method</span>=<span>"post"</span>></span><span><<span>p</span>></span>Regular Expression Pattern: <span><<span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"pattern"</span><span>value</span>=<span>"<?php if(isset($pattern)) echo htmlentities($pattern); ?>"</span><span>size</span>=<span>"40"</span>></span>(include the delimiters)<span></<span>p</span>></span><span><<span>p</span>></span>Replacement: <span><<span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"replace"</span><span>value</span>=<span>"<?php if(isset($replace)) echo htmlentities($replace); ?>"</span><span>size</span>=<span>"40"</span>></span><span></<span>p</span>></span><span><<span>p</span>></span>Test Subject: <span><<span>textarea</span><span>name</span>=<span>"subject"</span><span>rows</span>=<span>"5"</span><span>cols</span>=<span>"40"</span>></span><span><span><?php</span><span>if</span>(<span>isset</span>(<span>$subject</span>)) <span>echo</span> htmlentities(<span>$subject</span>); <span>?></span></span><span></<span>textarea</span>></span><span></<span>p</span>></span><span><<span>input</span><span>type</span>=<span>"submit"</span><span>name</span>=<span>"submit"</span><span>value</span>=<span>"Test!"</span>></span><span></<span>form</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>
登录后复制

PHP学习练手(十六)

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了PHP学习练手(十六),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号