PHP正则表达式二徐枭雄课堂笔记

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

正则表达式

1.什么是正则表达式

a)例子:’//’;这就是正则表达

b)乱七八糟的一堆字符堆砌在一起,神秘的符号,有着

奇特的意义

2.和正则表达式相识的事物?

a)乱/看不懂/神秘/意义

医生的字只有医院的人能看懂

道士的符只有道士明白

女人的心只有女人能懂

正则表达式只有程序员能看懂(所有的高级语言中都有正则表达式)

3.学习正则表达式可以做什么、

a)操作字符串时正则表达式的唯一作用

验证用户名长度是否合法

验证密码是否符合标准

验证手机号

验证URL地址

验证邮箱

BBS编辑器

Qq聊天表情

新闻采集器小偷程序

4.看看正则表达式的一些特点

a)1.正则表达式也是一个字符串

b)2.由特殊意义的字符组成的字符串

c) 3.具有一定的编写规则,也是一种模式

d)4.看做是一种编程语言

因为是用一些特殊字,按照规则编写出来的字符串,形成一种模式-正则表达式。

注意:如果正则表达式,不和函数一起使用,则他就是一个普通的字符串而已。如果把正则表达式放入到函数中一起使用,才能发挥出正则表达式的作用。

比如:将正则表达式放入到分分隔函数,哪可以用这个正则表达式去分隔字符串。

总结:正则弊端是就是通过构建具有特定规则的模式了,在于输入的字符串信息进行比较,分隔,查找,替换等工作。

在实际应用中记住一点:能使用字符串处理函数来完成的就不要使用正则表达式来完成。愿意:效率低。

5.PHP中提供了两套正则表达式函数库

a)Posix 扩展正则表达式函数-》ereg

b)Perl 兼容正则表达式函数->preg

(两套函数库功能一样,但是perl效率高,所以官方推荐使用perl)

6.学习正则表达式时,有两方面学习

a)1.正则表达式的模式如何编写

b)2.学习正则表达式的强大处理函数

7.正则表达式的语法(分4部)

a)1.正则定界符

b)2.正则表达式中的原子

c) 3.正则表达式中的元字符(原子修正符)

d)4.正则表达式的模式修正符

8.正则表达式的定界符

a)正则表达式的定界符是用来声明正则表达式的边界符

号。

正则表达式常用个的边界符是’/‘实际上任何非数字字

符和\之外的字符都可以做正则表达式的边界符

注意:

一个完整的正则表达式有两边界符

1.一个是字符串类型的引号边界符

2.一个是正则表达式的边界符。

9.正则表达式的原子

a)组成正则表达式的最小的单位就是原子

1.原子都有哪些内容组成?

i.所有的可见字符都是原子

ii.大部分不可见字符也是原子:比如:空格\N \R \T 这些转移字符也是原子。

\d 表示数字0-9之间的任意一个数字

\D 表示除了数字以外的任意一个字符

\s 表示所有的空白符中的任意一个字符

包括:\n \r \t 空格等

\S表示除了所有空白符之外的任意一个字符

\w 表示数字大小写字母以及下划线中任意一个字符

\W 表示除了数字大小写字母以及下划线之外的任意

一个字符。

10.正则表达式的元字符(原子修饰符)

[]原子列表

表示在指定的字符选取一个原子

[5-9]表示5,6,7,8,9连接的字符允许缩写为开始字符到结束字符。

排除列表:[^]

[^4]表示除了4之外的所有字符都可以使用

使用原子列表以及排除列表模拟以上的\D\d\S\s\w\W的效果

\d [0-9]

\D [^0-9]

\s [ \n\r\t]

\S [^ \n\r\t]

\w [0-9a-zA-Z_]

\W[^0-9a-zA-Z]

原子数量修饰符

?表示前面的原子出现1次或者0次{0,1}

+ 表示签名的原子出现1次或者多次{1,}

* 表示前面的原子出现0次1次或者多次{0,}

原子数量修饰列表

{m,n}表示前面的原子可以出现从m个到N个

{m,} 表示前面原子最少出现m次

{m}表示前面原子出现m次

字符串边界修饰符(也就是说开始和结束符)

^表示以指定字符开头的内容

$表示以指定字符结尾的内容

^字符串$表示精确匹配某一个字符(多一个少一个都不行)

注意:如果要使用^和$可以匹配每一行的开始和结束部分,需要使用后面学习的模式修正符m

选择修饰符|

模式单元()

1.改变优先级

2.将多个原子视为一个原子,目的是可以使用原子数量修饰符

3.将匹配到的括号中的内容暂时存为内存当中

4.如果使用()仅仅为了模拟一个原子使用原子数量修饰符,可以在括号的开始处使用?:来解除存于内存的作用,提高效率

5.可以将括号的内容在函数的辅助相爱进行反向引用操作。

\d{15}|\d{18}|\d{17}x 身份证

\d+\.\d+\.\d+\.\d+ 1.1.1.1 ip地址

\d{3}-\d{8}|\d{4}-\d{7} 座机号010-********

0123-1234567

[a-zA-Z]+:\/\/[^\s]* 域名

//Aaaaaaaaaaaa://asdhfjkahksjdfhlasldhflkjasdhflasdhljkf

作业:今日讲解正则的原子元字符练习三遍。整理课堂笔记

自己写电话号验证规则

1 3 [0123456789]

1 4 7

1 5 1234567890

1 7 0178

1 8 0 1

2

3

4

5

6

7

8 9

留的在线相册写完。

模式修正符

i 忽略大小写

相关文档
最新文档