老板不在,嚣张的正则

hi

RT

1、正则表达式

--preg_grep($pattern,array$input)

阉割版preg_filter(),只匹配不替换

--preg_split($pattern,$subject)

返回数组,把$subject在$pattern分割点分割开

--preg_quote($str)

将正则运算符转义,防止混淆

.\+*?[^]$(){}=!<>|:-

--总结

共性:都以preg_开头

         基本上第一个参数都是$pattern

用法:表单验证-match

         非法词过滤-replace

 

---正则表达式基本语法

--界定符,原子,量词,边界控制,模式单元

--界定符:/或者#或者{}(一般不用大括号,歧义太多)

-开始和结束位置

-$pattern='/字符串/';

--regexpal工具

-http://regexpal.isbadguy.com/

--原子

-最小的匹配单位

-可见原子(Unicode编码表中庸键盘打出的可见的):标点,各种语言文字,数理化公式符号,其他可见字符

-不可见原子:换行符\n,回车\r,制表符\t,空格,其他

-一般都是直接输入,遇见重复的或者关键词,加转义,比如\$

--元字符

-筛选

|  匹配两个或多个,即或者

[]  匹配括号内任意一个原子,特殊[1-3],这里的-是“到”的意思

[^] 同上互逆,匹配除括号内的所有原子

注意:用^要小心,会匹配所有其他的,包括空格等不可见原子;再有就是^要和其他原子紧贴顶头写

-定义原子的集合

.   等价于[^\n],匹配除换行符之外的任意字符——基本上就是所有的

\d  [0-9]匹配一个十进制数字

\D  [^0-9]匹配一个非十进制数字

\w  [0-9a-zA-Z]匹配一个数字、字母或下划线

\W  [^0-9a-zA-Z]匹配一个非数字、字母或下划线

\s  匹配一个不可见原子

\S  匹配一个可见原子

--量词

-表示某个原子连续出现多少次

-{n}   表示其前面的原子恰好连续出现n次——5{3}

-{n,}   表示其前面的原子至少连续出现n次

-{n,m}   [f|5]{3,6}表示连续出现n次,最多m次,就是n到m次

-*   任意次,只要连续,都匹配,{0,}

-?    {0,1}0到1次

-+   {1,}至少有1次

 

2、PHP

---面向对象

--什么是对象

-Object Oriented(OO)

-世间万物皆对象——一切可见的、不可见的(某个抽象概念),即某个东西

--对象的基本组成

-两部分:属性和方法

-属性:数据模型,用于描述对象的数据

-方法:行为模型,用于描述对象能够做什么

--对象的特点

-独一无二

-是一个特定事物,职能是完成特定功能

-是可以重复使用的

--什么是面对对象

-面向,就是编程时一直想着对象(......)

-面向对象,就是编程时,所有的数据结构都通过对象的结构进行存储

-WHY:对象的描述方式(思路),更加贴合真实情况,有利于大型业务的理解

--面对对象的实质

-把生活中要解决的问题都用对象的方式进行存储,属性+方法

-对象和对象之间的互动:通过方法的调用完成(考虑詹姆斯打篮球的例子)

--面向对象的基本思路

-第一步,识别对象

-第二步,识别对象的属性——由于对象不同的业务逻辑,关注点不同,属性类型不同

-第三步,识别对象的行为(透过行为识别其方法)

--面向对象的基本原则

-内部是高内聚的:只负责一项特定的职能;对象的相关内容全都封装在内部,属性+方法

-对外是低耦合的:外部只能看到对象的一些属性、一部分方法(行为)——低耦合要比高内聚重要

 

posted @ 2015-10-21 19:15  韧还  阅读(170)  评论(0编辑  收藏  举报