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第六天(正则表达式)的更多相关文章

  1. thinkphp伪静态(url重写)

    1. 服务器开启url_rewrite功能,linux空间的php虚拟主机只需要开启apache的mod_rewriet,如果是iis6.0就要安装ISAPI Rewrite模块,apache只要开启 ...

  2. Python之路第六天,基础(7)-正则表达式(re)

    Python RE模块(正则表达式) 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成 ...

  3. 制作类似ThinkPHP框架中的PATHINFO模式功能

    一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ...

  4. ThinkPHP框架下的表单验证

    之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种 ...

  5. thinkphp表单自动验证

    ThinkPHP框架表单验证 对注册到test表的表单进行验证 在注册之前要对表单进行验证: 用户名非空验证,两次输入密码必须一致即相等验证,年龄在18~50之间即范围验证,邮箱格式正则验证. 自动验 ...

  6. thinkphp自动验证---$_validate

    thinkphp中的自动验证 array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间]) 1.验证字段 需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段 ...

  7. Thinkphp 1.验证规则 2.静态定义 3.动态验证

    一.验证规则 数据验证可以对表单中的字段进行非法的验证操作.一般提供了两种验证方式: 静态定 义($_validate 属性)和动态验证(validate()方法). //验证规则 array( ar ...

  8. python之在线PK游戏(第六天)

      本节作业: 熟练使用类和模块,写一个交互性强.有冲突的程序. 故本次写了一个文字回合制的PK游戏,系统主程序为根目录下的:game_menu.py 1. 系统功能模块: 第六天的作业:文字游戏程序 ...

  9. 【转载】最完美解决Nginx部署ThinkPHP项目的办法

    网上通用解决方法的配置如下: server { ... location / { index index.htm index.html index.php; #访问路径的文件不存在则重写URL转交给T ...

随机推荐

  1. PADS LAYOUT到底怎么走线

    PADS LAYOUT走线,是不是转角要自己手动慢慢转角啊?不能像PROTEL中那样自动转角吗 自己手动转角老是转不好,出现许多线头,对不齐,是不是我操作有误啊 走线的过程中,可以试试这个,切换端点. ...

  2. 自定义TWebBrowser浏览器控制遇到的一些问题

    最近工作需要,要将TWebBrowser样式改头换面,包括菜单,滚动条等,都要换掉. 由于滚动条已经屏蔽掉,所以关于页面滚动等,全部都需要自己写代码来模拟了.模拟的过程中发现获得页面的客户区大小Cli ...

  3. 去掉Flex4生成的SWF加载时的进度条

    原文 http://www.cnblogs.com/modou/articles/1955507.html 方法一: <?xml version="1.0" encoding ...

  4. BZOJ 1103 [POI2007]大都市meg(树状数组+dfs序)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1103 [题目大意] 给出一棵树,每条边的经过代价为1,现在告诉你有些路不需要代价了, ...

  5. POJ 3294 Life Forms(后缀数组+二分答案)

    [题目链接] http://poj.org/problem?id=3294 [题目大意] 求出在至少在一半字符串中出现的最长子串. 如果有多个符合的答案,请按照字典序输出. [题解] 将所有的字符串通 ...

  6. C# 保留小数点后两位(方法总结)

    最简单使用: float i=1.6667f; string show=i.ToString("0.00"); //结果1.67(四舍五入) 其他类似方法: string show ...

  7. Apple Catching(dp)

    Apple Catching Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9831   Accepted: 4779 De ...

  8. MyEclipse中jsp的凝视报错解决

    jsp页面中凝视报错: 出错现场:在eclipse中没有报错.在MyEclipse中报错. <!-- To use express install, set to playerProductIn ...

  9. 转载ajax

    写在前面的话: 用了很久的Asp.Net Ajax,也看了段时间的jquery中ajax的应用,但到头来,居然想不起xmlHttpRequest的该如何使用了. 以前记的也不怎么清楚,这次就重新完整的 ...

  10. Velocity入门系列

    Velocity介绍 Velocity是一个java模板引擎,通过简洁的语法可以返回动态内容给浏览器使用,本系类是基于velocity官方文档(就是照着翻译,同时对不清楚的地方进行详细讲解),其实技术 ...