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. QT完美转换特殊字符的大小写

    Util::ShowMessage(QString::fromUtf8("ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸ€")); Util::ShowMess ...

  2. liunx 同步时间

    ntpdate stdtime.gov.hk (美国) time.nist.gov (复旦)(国内用户推荐) ntp.fudan.edu.cn 微软公司授时主机(美国) time.windows.co ...

  3. POJ 3261 Milk Patterns(后缀数组+二分答案)

    [题目链接] http://poj.org/problem?id=3261 [题目大意] 求最长可允许重叠的出现次数不小于k的子串. [题解] 对原串做一遍后缀数组,二分子串长度x,将前缀相同长度超过 ...

  4. delphi调用外部程序打开文件

    delphi调用外部程序打开文件 ShellExecute的各种用法 一.利用系统默认的邮件收发器发送电子邮件 Uses ..., ShellAPI; Var lpHwnd: HWND; lpOper ...

  5. hdoj 2546 饭卡(0-1背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546 思路分析:该问题为0-1背包问题的变形题:问题求余额最少,设开始的余额为V,则求得用V-5可以买 ...

  6. Windows Server 2012 R2 服务器管理器介绍和配置使用

    1. 服务管理器是用于管理系统服务的管理工具.一般常用于windows系统,使用这个工具你可以启动.停止服务:设置服务是自动.手动启动或禁用:查看某个服务的相关信息:设置服务以什么用户启动等等(一般包 ...

  7. 快速检查SQL两表数据是否一致

    1前话 项目内实现了一新功能:克隆数据库. 2目标 克隆并非用SQLSERVER克隆,故完毕后需要检查各表内一些数据与原表一致性.一些表中的某一些列容许不一致. 3实现 将两表的需要检查的几列取出,相 ...

  8. iOS 设置状态栏的颜色

    1.在plist文件中设置如下属性: 2.在delegate中设置 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarSt ...

  9. 浅谈JDBC(二)

    JDBC中的事务 简单来说,事务就是要保证一组DAO方法的操作,要么一起成功要么一起失败. 1.事务控制的位置 在Service中的业务方法内进行事务控制. 2.事务控制的代码 a.注意:JDBC会自 ...

  10. 编写一个程序, 将 a.txt 文件中的单词与 b.txt 文件中的 单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符 分隔, b.txt 文件中用回车或空格进行分隔。

    package cn.itcast; import java.io.File; import java.io.FileReader; import java.io.FileWriter; public ...