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. css vertical-align全解

    CSS 的属性 vertical-align 指定了内联(inline)元素或表格单元格(table-cell)元素的垂直对齐方式.  要记住:vertical-align不影响块级元素中内容的对齐. ...

  2. 浅谈 android-query

    介绍:android-query他是在GitHub上的一个开源轻量级的封装库,它集成了网络 .图片加载等模块,可以应用在android中的一些异步应用以及UI的操纵上,通过使用这个框架,使androi ...

  3. Uber 司机有话说:你以为当个 Uber 司机很轻松?大错特错!

    Uber 最近的负面新闻越来越多.各方成员都在抨击.斥责.揭露 Uber 公司的各种黑幕.今天,来自 Uber 公司的司机为您讲述咱「拼车老司机」自己的故事.你以为开着自己的私家车出去满城市的晃悠接客 ...

  4. 文件下载Demo

    知识点: //获取用户要下载的资源的名称        string name=context.Request.Params["downloadName"];        //设 ...

  5. sublime test3 使用技巧

    sublimeText3使用技巧 常用快捷键 ctrl+d :选中光标处的文本单元,继续按ctrl+d选中相同文本单元 alt+F3 :功能和ctrl+d类似,用于批量修改相同文本 shift+↑ ↓ ...

  6. web前端的发展态势

     以前 作为一个java程序员写的代码主要还是后台的代码,虽然开始的时候前后端都写,但是也是用别人造好的轮子来用,学学html,css,js,jquery,再找一个前端ui框架学学,上手之后我们就可以 ...

  7. 系统变量写在.bash_profile和.bashrc的区别

    今天配置一个代理,正儿八经的把我搞蒙了,不就是export http_porxy=xxx.xxx.xxx.xxx:xxxx 然后重启服务service network restart ,依然连接不了外 ...

  8. Product(大数相乘)

    Description The problem is to multiply two integers X, Y. (0<=X,Y<10250) Input The input will ...

  9. Hadoop学习笔记(2)hadoop框架解析

    Hadoop是适合大数据的分布式存储与计算平台 HDFS的架构:主从式结构 主节点只有一个NameNode,从节点可以有很多个DataNode. NameNode负责: (1)接收用户操作请求 (2) ...

  10. MVC中关于JSON的处理

    jquery中提交数据     $.getJSON("/TopicUpdate/UpdateInformation", { "bookId": bookid } ...