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 "没有匹配"; }
相关文章推荐
- php引用计数与变量引用
- rtp 报头的大小端 可查看jrtplib 中的定义
- php代码优化
- php断点调试--安装xdebug
- 【ThinkPHP】修改ThinkPHP3.1.x成功与失败的跳转页面
- php导出excel
- PHP输入流php://input
- PHP相等的问题
- php的mysql_connect连接遇到的2006问题
- FlowLayoutPanel控件
- 烂泥:Server-U FTP与AD完美集成方案详解
- PHP 5.3以上版本推荐使用mysqlnd驱动
- 在dos命令窗口远程修改自己的FTP密码
- PHPCMS v9 将消息提醒改为类似公告顶端上面提示。
- php-leveldb 扩展安装 和使用
- thinkphp3.2.3编译时new model()出错的处理方法
- php阅读csv文件类
- ThinkPHP报Class 'Core\Log' not found竟然是由这个原因导致的
- 自己写的一个PHP教程,希望能帮到有需要的人
- PHP中的数组