ThinkPHP第六天(正则表达式)
1、正则表达式:原子
①a-z,A-Z,0-9,_
②用(abc)圆括号括起来的单元符号,表示括号里面的作为一个完整的组合,必须完成匹配,不被拆分来
③用方括号括起来[abc][^abc]称之为原子表,任何符合括号的内容都可以匹配,^符号,表示不包含原子表中的内容进行匹配。
④转义字符:\d表示包含所有数字[0-9],\D除所有数字即[^0-9],\w表示所有常见英文字符[a-zA-Z_0-9],\W表示除所有英文字符[^a-zA-Z_0-9],\s包含空白区域如空格、回车、分页
2、preg_match(正则表达式,字符串,存放结果数组),该函数会将符合正则表达式的结果放入数组中(一维数组),只找一个符合结果。
preg_match_all()这个函数是将字符串所有符合结果放入数组(二维数组)
3、正则表达式一般以/表达式/形式开始和结尾,如/abc/表示匹配含有abc
4、*表示其前面某个元素的0或多次出现,如go*gle 则可以匹配的ggle(0次)或goooooogle(多次)
5、+表示其前面的某个元素出现1次或多次
6、?表示其前面某个元素出现0次或1次
7、.表示回车以外的任意字符串,如g.+gle与之匹配的 可以是google 或者glskesgle
8、|表示或者的意思 /baidu|google/,匹配字符串中是否含有baidu或者google
9、^开始字符,如^google 表示匹配以google开头的字符串 $结束字符,google$表示以google结束的字符串。跟原子中的^含义不一样。
10、\b匹配单词边界,如\bis\b,表示查找is必须两边有边界,如空格、下划线等。比如what is this? 就可以匹配到whatisthis则不能匹配。
11、\B匹配没有分解符的,如\Bis\b 字符串what is it?,不会匹配,而this则会匹配。
12、{m}表示前面内容重复m次 /go{5}gle/,必须含有gooooogle才能匹配
13、{m,}表示前面内容重复>=m次才能匹配
14、{m,n}表示前面内容重复m=<xxx<=n次才能匹配
15、()合并整合匹配,放入内存,可以使用\\1 \\2方式调用,如/111(abc)222\\1333/,表示必须匹配 111abc222abc333,\\1是把内存中的(abc)调用出来
这样做有个好处可以保证前后括号里面的内容保持一致,如2013(.+)9\\120 这样子后2013-9-20,2013/9/20会匹配,但2013/9-20不会匹配。如果2103(.+)9(.+)20就会匹配了。
16、优先级
ThinkPHP第六天(正则表达式)的更多相关文章
- thinkphp伪静态(url重写)
1. 服务器开启url_rewrite功能,linux空间的php虚拟主机只需要开启apache的mod_rewriet,如果是iis6.0就要安装ISAPI Rewrite模块,apache只要开启 ...
- Python之路第六天,基础(7)-正则表达式(re)
Python RE模块(正则表达式) 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成 ...
- 制作类似ThinkPHP框架中的PATHINFO模式功能
一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ...
- ThinkPHP框架下的表单验证
之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种 ...
- thinkphp表单自动验证
ThinkPHP框架表单验证 对注册到test表的表单进行验证 在注册之前要对表单进行验证: 用户名非空验证,两次输入密码必须一致即相等验证,年龄在18~50之间即范围验证,邮箱格式正则验证. 自动验 ...
- thinkphp自动验证---$_validate
thinkphp中的自动验证 array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间]) 1.验证字段 需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段 ...
- Thinkphp 1.验证规则 2.静态定义 3.动态验证
一.验证规则 数据验证可以对表单中的字段进行非法的验证操作.一般提供了两种验证方式: 静态定 义($_validate 属性)和动态验证(validate()方法). //验证规则 array( ar ...
- python之在线PK游戏(第六天)
本节作业: 熟练使用类和模块,写一个交互性强.有冲突的程序. 故本次写了一个文字回合制的PK游戏,系统主程序为根目录下的:game_menu.py 1. 系统功能模块: 第六天的作业:文字游戏程序 ...
- 【转载】最完美解决Nginx部署ThinkPHP项目的办法
网上通用解决方法的配置如下: server { ... location / { index index.htm index.html index.php; #访问路径的文件不存在则重写URL转交给T ...
随机推荐
- DGIM
http://blog.liulixiang.info/2011/04/05/dgim%E7%AE%97%E6%B3%95%EF%BC%9A%E4%BC%B0%E8%AE%A1%E6%BB%91%E5 ...
- Win7下使用protel99se、protel99
很多网友需要用的protel99se,由于该软件开发的时间比较就早,在现在笔记本普及,尤其是win7普及的情况下,用该软件着实让许多人头痛,有人选择安装XP系统,但这就牺牲了win7良好的操作体验.也 ...
- Euromonitor 2013年奢侈品报告精选 |华丽志
Euromonitor 2013年奢侈品报告精选 |华丽志 Euromonitor 2013年奢侈品报告精选
- 打开固定文件的pr_debug
驱动中pr_debug定义在kernel/include/linux/printk.h /* If you are writing a driver, please usedev_dbg instea ...
- HTML系列(一):创建HTML文档
从本学期开始我打算把我以前学的知识点系统地总结一下,先从HTML开始.(本系列内容总结自博文视点出版社•代码逆袭系列书籍,包括代码片段.) 一.HTML文档类型 HTML版本众多,浏览器如何得知使用的 ...
- .NET WIN7+IIS 7.5下URLRewriter组件伪静态设置
原文地址:WIN7+IIS 7.5伪静态的设置 --------------------------------------------------------偶是分割线君-------------- ...
- Javascript 递归函数
递归函数就是在函数内部调用它自己.在Javascript 中有很多写法,值得我们学习一下(Javascript太灵活了).还是用n的 阶乘 来写例子吧. 1. 首先,来看一个最普通 最正常的写法. f ...
- 最近用的到的一些js的常用方法(简单的)
由于新的项目开始了,是使用MVC 5.0 开发的,前端使用了两个主流的框架 UIKIT,Ignite UI(收费) 因为是mvc主要用json来交互,不能避免要对前端脚本进行操作,所以就将能用到的方法 ...
- ListView中响应item的点击事件并且刷新界面
---恢复内容开始--- 最近在在实现listview功能中遇到了这个问题: 点击事件写在了adapter的item中,不知道如何在listview的点击事件中更新数据的显示: 总结:1.要使用not ...
- set up blog on github
http://www.ruanyifeng.com/blog/2012/08/blogging_with_jekyll.html