您的位置:首页 > 编程语言 > PHP开发

PHP&正则表达式

2015-09-09 17:13 513 查看
<?php
//1.在PHP当中,什么是正则表达式
//就是有一定语法规则的字符串

//2.正则表达式的应用场景
//表单验证
//url_rewrite url地址重写
//小偷程序,爬虫

//3.如何使用正则表达式
//正则表达式的组成部分
//1.定界符
//2.原子
//3.元字符
//4.模式修正符

//4.定界符
//定界符通常情况下是又特殊字符组成,常用/
$pattern = "//";
$pattern = "!!";
$pattern = "##";

echo "<form>";
echo "<input type='text' name='str'>";
echo "<input type='submit'>";
echo "</form>";

//5.原子
$str = $_GET['str'];
//$str = "\n";
//普通原子 a-z A-Z 0-9
$pattern = "/a/"; //可以帮助我们匹配一个字符a
$pattern = "/\./";//特殊含义的字符需要转义
$pattern = "/\n/";//非打印字符可以匹配
$pattern = "/\d/";//匹配0-9数字
$pattern = "/\D/";//匹配除了0-9的数字
$pattern = "/\w/";//匹配数字+大小写字符+下划线
$pattern = "/\W/";//匹配除了数字+大小写字母+下划线
$pattern = "/\s/";//匹配的是空白符
$pattern = "/\S/";//匹配除了空白符的字符
$pattern = "/hao*sou/";//*匹配前面的一个原子出现0,1,多次
$pattern = "/hao+sou/";//+匹配前面的一个原子出现1次或者多次
$pattern = "/hao?sou/";//匹配前面的一个原子出现0次或者1次
$pattern = "/./";//匹配的是除了换行符之外的任意字符
$pattern = "/a|b|c/";//|代表或者的意思
$pattern = "/hao{2}sou/";//匹配前面的一个原子恰巧出现n次
$pattern = "/hao{2,}sou/";//>=2
$pattern = "/hao{2,5}sou/";// 2-5
$pattern = "/^伟大的捷哥教导我们/";//必须以该原子开头
$pattern = "/伟大的捷哥教导我们$/";//必须以该原子结尾
$pattern = "/^伟大的捷哥教导我们$/";//严格模式
$pattern = "/[abc]/";// a|b|c
$pattern = "/[^abc]/";// 除了a,b,c
$pattern = "/(http|https|ftp):\/\//";//可以看做一个整体,还可以做反向引用

//$str=<b>abc</b><b>dddgg</b>
$pattern = "/<b>.*<\/b>/";//贪婪模式,匹配<b>abc</b><b>dddgg</b>
$pattern = "/<b>.*?<\/b>/";//.*?取消贪婪模式,匹配<b>abc</b>
$pattern = "/<b>.*<\/b>/U";//U取消贪婪模式

$pattern = "/abc/i";//匹配的内容不区分大小写
//$str = "bbbbb\nabc123123123\nccccc";
$pattern = "/^abc/m";//匹配多行
//$str = "\n";
$pattern = "/./s";//修正.的换行符
$pattern = "/a b c/x";//忽略正则表达式当中的空白符
$str = "123123abc\n";
$pattern = "/abc$/D";//取消$对换行符的忽略

//$str = "";
//$pattern = "/.*/";

if(preg_match($pattern,$str,$matches)){
echo "匹配到了<hr>";
echo "<pre>";
var_dump($matches);
echo "</pre>";
}else{
echo "没有匹配";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: