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 ...
随机推荐
- delphi关于文件操作集锦
关于文件操作集锦 取得该快捷方式的指向EXE关键词:快捷方式 LNK unit Unit1; interface usesWindows, Messages, SysUtils, Varian ...
- VS2010/MFC对话框:向导对话框的创建及显示
向导对话框的创建及显示 本节将为大家演示如何创建向导对话框. 仍然以前面的“加法计算器”的例子为基础,在其中加入向导对话框,我们可以用它来说明加法计算器的使用方法,一步一步引导用户操作,这也是比较常见 ...
- CSSBox - Java HTML rendering engine
CSSBox - Java HTML rendering engine CSSBox is an (X)HTML/CSS rendering engine written in pure Java. ...
- windows下Qt Creator5.1.0编写程序以及调用OpenCV库
系统说明 最近使用opencv编写程序,程序编的差不多就学习使用QT加个界面,首先声明下本人的系统和使用的软件版本, 系统: windows xp QT IDE:QT Creator5.1.0 Ope ...
- ubuntu 12.04下安装和配置kohana 3.3.3 的方法
一.先到官网下载3.3.3版本的压缩包到/var/www/1117/目录下(提前建好1117的目录)解压 解压好的文件有(applications\modules\system\build.xml\c ...
- java String分类trim,substring,replaceAll,indexOf使用功能
1.trim性能 特征去掉字符串首尾空格,防止不必要的空格导致错误. public class TrimTest { public static void main(String[] args) { ...
- 180行ruby代码搞定游戏2048
最今在玩2048这款小游戏,游戏逻辑简单,很适合我这样的对于游戏新入行的人来实现逻辑.于是选择了最拿手的ruby语言来实现这款小游戏的主要逻辑.还是挺简单的,加起来4小时左右搞定. 上代码: requ ...
- VIM在文件夹中查找
在vim中提供2中方法来在其他文件或者文件夹中搜索字符串,第一种是vimgrep还有一种是grep. 如果只是在当前打开的文件中查找字符串的,使用 :? 后面加上想要搜索的字符串就可以. 这里要解决的 ...
- CSS learnning...
"Whenever this property changes, apply that change slowly." The property transition: width ...
- 最近用的到的一些js的常用方法(简单的)
由于新的项目开始了,是使用MVC 5.0 开发的,前端使用了两个主流的框架 UIKIT,Ignite UI(收费) 因为是mvc主要用json来交互,不能避免要对前端脚本进行操作,所以就将能用到的方法 ...