PHP学习练手(十六)
来源:互联网 发布:php常用的系统函数 编辑:程序博客网 时间:2024/05/17 11:35
Perl兼容的正则表达式
一、函数:
preg_match():指示模式是否与字符串匹配,一旦找到一个匹配返回1,否则返回0
preg_match_all():找到所有的匹配
preg_replace():实现查找和替换作用
二、简单的模式:
1. 字面量:是一个值,其书写方式与所解释的完全一样。例如,模式a将匹配字母a,ab将匹配ab等。
定界符:可以是除字母数字或反斜杠外的任何字符,必须使用相同的字符来标记模式的开始和结束。通常使用正斜杠(/)
元字符 :
量词:
常见的字符类别:
三、实践:1.单一匹配——pcre.php
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Testing PCRE</title></head><body> <?php # Script 14.1- pcre.php if($_SERVER['REQUEST_METHOD'] == 'POST') { $pattern = trim($_POST['pattern']); $subject = trim($_POST['subject']); echo "<p>The result of checking<br /><b>$pattern</b><br />aganist<br />$subject<br />is</p>"; if(preg_match($pattern, $subject)) { echo 'TRUE!</p>'; }else{ echo 'FALSE!</p>'; } } ?> <form action="pcre.php" method="post"> <p>Regular Expression Pattern: <input type="text" name="pattern" value="<?php if(isset($pattern)) echo htmlentities($pattern); ?>" size="40">(include the delimiters)</p> <p>Test Subject: <input type="text" name="subject" value="<?php if(isset($subject)) echo htmlentities($subject); ?>" size="40" /></p> <input type="submit" name="submit" value="Test!"> </form></body></html>
——实现电子邮件验证:电子邮件开始于字母、数字或下划线,以及句点(.)或短划线。
2.所有匹配——matches.php
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Testing PCRE</title></head><body> <?php # Script 14.1- pcre.php if($_SERVER['REQUEST_METHOD'] == 'POST') { $pattern = trim($_POST['pattern']); $subject = trim($_POST['subject']); echo "<p>The result of checking<br /><b>$pattern</b><br />aganist<br />$subject<br />is</p>"; if(preg_match_all($pattern, $subject, $matches)) { echo 'TRUE!</p>'; echo '<pre>'.print_r($matches, 1).'<pre>'; }else{ echo 'FALSE!</p>'; } } ?> <form action="matches.php" method="post"> <p>Regular Expression Pattern: <input type="text" name="pattern" value="<?php if(isset($pattern)) echo htmlentities($pattern); ?>" size="40">(include the delimiters)</p> <p>Test Subject: <textarea name="subject" rows="5" cols="40"><?php if(isset($subject)) echo htmlentities($subject); ?></textarea></p> <input type="submit" name="submit" value="Test!"> </form></body></html>
3.匹配和替换——replace.php
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Testing PCRE</title></head><body> <?php # Script 14.1- pcre.php if($_SERVER['REQUEST_METHOD'] == 'POST') { $pattern = trim($_POST['pattern']); $subject = trim($_POST['subject']); $replace = trim($_POST['replace']); echo $subject; echo "<p>The result of replacing<br /><b>$pattern</b><br />with<br />$replace<br />in<br />$subject<br /><br />"; if(preg_match($pattern, $subject)) { echo preg_replace($pattern, $replace, $subject).'</p>'; }else{ echo 'The pattern was not found!</p>'; } } ?> <form action="replace.php" method="post"> <p>Regular Expression Pattern: <input type="text" name="pattern" value="<?php if(isset($pattern)) echo htmlentities($pattern); ?>" size="40">(include the delimiters)</p> <p>Replacement: <input type="text" name="replace" value="<?php if(isset($replace)) echo htmlentities($replace); ?>" size="40"></p> <p>Test Subject: <textarea name="subject" rows="5" cols="40"><?php if(isset($subject)) echo htmlentities($subject); ?></textarea></p> <input type="submit" name="submit" value="Test!"> </form></body></html>
0 0
- PHP学习练手(十六)
- php学习练手(一)
- php学习练手(二)
- PHP学习练手(三)
- PHP学习练手(四)
- PHP学习练手(五)
- PHP学习练手(六)
- PHP学习练手(七)
- PHP学习练手(八)
- PHP学习练手(九)
- PHP学习练手(十)
- PHP学习练手(十一)
- PHP学习练手(十二)
- PHP学习练手(十三)
- PHP学习练手(十四)
- PHP学习练手(十五)
- PHP学习(十六)--封装性
- php学习 第二十六节
- hessian矩阵
- 11520 - Fill the Square
- Java的枚举类型用法介绍
- 属性动画详解之ObjectAnimator、ValueAnimator、PropertyValuesHolder、Keyframe 之间关系
- BeanUtils.copyProperties() 用法---转自百度经验
- PHP学习练手(十六)
- 以海温(Surface Sea Temperature)数据为例,介绍如何利用GrADs软件提取.nc文件
- python之禅
- 光纤检测
- java poi操作excel文件 (新建Excel文件 添加行列、单元格)
- 比较Cocos2d-x 2.x版本与3.x版本屏幕截图的两种方式
- 基于Gabor特征提取和人工智能神经网络的人脸检测matlab代码
- Android Studio之Gradle多渠道打包
- java中获取相对当前日的任何任意一天的方法