T4《正则表达式与异常处理》文档格式.docx

上传人:b****6 文档编号:21934343 上传时间:2023-02-01 格式:DOCX 页数:11 大小:58.62KB
下载 相关 举报
T4《正则表达式与异常处理》文档格式.docx_第1页
第1页 / 共11页
T4《正则表达式与异常处理》文档格式.docx_第2页
第2页 / 共11页
T4《正则表达式与异常处理》文档格式.docx_第3页
第3页 / 共11页
T4《正则表达式与异常处理》文档格式.docx_第4页
第4页 / 共11页
T4《正则表达式与异常处理》文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

T4《正则表达式与异常处理》文档格式.docx

《T4《正则表达式与异常处理》文档格式.docx》由会员分享,可在线阅读,更多相关《T4《正则表达式与异常处理》文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

T4《正则表达式与异常处理》文档格式.docx

学习正则表达式就是学习两方面的内容,1.正则表达式编写的规则模式2正则表达式函数的应用

(二)定义/语法

POSIX风格的正则表达式由正则字符和元字符构成,二者联合构成了一个文本模式的程序描述。

因此正则表达式允许对文本内的模式和子模式进行匹配

(三)特点

1.严格区分大小写

2.由正则表达式字符(字母,逗号,数字等)和元字符(星号,括号等)构成

(四)场合

1.灵活变通地匹配、检验、替换以及修改字符串。

(五)使用

1.元字符:

有特定意义的字符

字符

含义

()

将不同的字符串组成一组,也称为子模式

[]

定义字符集合

{}

指定重复次数

^

在字符串的开始匹配或者表示不在某个字符串集合内

$

在字符串的结尾匹配

.

匹配除换行符(\n)之外的任意字符

?

重复零次或者一次

*

重复零次或者多次

+

重复一次或者多次

\

转义字符

|

或者,选择分支的标识

2.字符集:

字符的范围,可以匹配指定类型的任何字符

字符

含义

[a-z]

小写字母字符

[A-Z]

大写字母字符

[a-zA-Z]

大小写字母字符

[0-9]

数字字符

[0-9\+\-\*\\]

数字字符、加号、减号、乘号和除号

[\f\r\n\t]

空白字符

3.字符类:

预定义字符集(定义过的字符集),对整个字符范围进行指定

字符类

[[:

alnum:

]]

字母字符和数字字符,等价于[a-zA-Z0-9]

alpha:

字母字符,等价于[a-zA-Z]

upper:

大写字母字符,等价于[A-Z]

lower:

小写字母字符,等价于[a-z]

digit:

数字字符,等价于[0-9]

blank:

空格符和制表符

space:

空白字符,包括空格、水平制表符、垂直制表符、换行、换页、回车

print:

可打印字符

ascii:

7位ASCII码

xdigit:

十六进制字符,等价于[a-fA-F0-9]

punct:

标点符号

graph:

ASCII码从33~126之间可打印字符

4.量词/限定符:

指定字符必须出现的次数

*

重复任意次(包括零次)

+

重复一次或多次

重复零次或一次

{n}

重复n次,其中n上一个非负整数

{n,}

重复至少n次,其中n是一个非负整数

{n,m}

重复至少n次到m次,其中m和n均为非负整数并且m大于n

二、POSIX风格正则表达式函数

函数名多数以ereg开头

1.

1.ereg()函数:

在字符串中查找与指定正则表达式模式匹配的子串

语法:

intereg(正则表达式,字符串[,])

2.split()函数:

使用正则表达式把字符串拆分为较小的块,并作为一个数组返回

3.ereg_replace()函数:

用来查找和替换子字符串。

与字符串处理函数str_replace()实现的功能相同

三、Perl正则表达式

Perl正则表达式英文名称为PerlCompatibleRegularExpression,缩写为PCRE。

PCRE库包括一套执行常用表达模式的函数,语法来源于Perl语言。

与POSIX正则表达式不同,Perl正则表达式需要以分隔符作为开始和结束标识。

Perl正则表达式通常使用正斜杠“/”作为定界符,Java和JavaScript中的正则表达式的写法和PHP中差不多,只是函数不同而已

1.定界符:

需要以分隔符作为开始结束标记,通常是/(正斜杠)

2.perl修饰符:

在Perl正则表达式的最后一个分隔符/后,可以添加Perl修饰符来更改正则表达式的行为

修饰符

说明

i

忽略大小写

m

除了匹配字符串的开始和结尾还匹配其中的换行符的之后或之前

s

模式中的圆点元字符“.”匹配所有的字符

x

表达式中的空白字符将会被忽略,除非它已经被转义

D

模式中的美元元字符仅匹配目标字符串的结尾

U

和问号的作用相似(多次匹配)

3.元字符

元字符

含义

\A

匹配字符串的开头

\B

匹配除单词边界之外的任意字符

\b

匹配单词边界

\D

匹配非数字字符

\d

匹配数字字符,等价于[0-9]

\S

匹配非空白字符

\s

匹配空白字符

\W

匹配任意字母和数字

\w

匹配任意非单词字符

[]

匹配指定范围内的其中一个字符

()

用于将正则表达式和元字符或表达式进行组合

$

匹配字符串的结束

^

匹配字符串的开始

.

匹配除换行之外的任何一个字符

{x}

重复x次

{x,y}

至少重复x次,最多重复y次

{x,}

至少重复x次

重复0次或更多次

重复0次或1次

重复1次或多次

|

匹配其中任意一个

\

转义字符

4.啊

四、Perl正则表达式函数

PHP为使用Perl兼容的正则表达式提供了7个常用的函数,包括:

preg_grep()、preg_match()、preg_match_all()、preg_quote()、preg_replace()、preg_replace_callback()和preg_split()。

利用这些函数可以方便地实现对字符串的搜索与替换、分割与合并

1.函数名都以以preg_开头

1.preg_grep()函数:

按指定的正则表达式搜索和匹配。

其对一个数组进行匹配和搜索,搜索成功则返回匹配的数组元素

2.preg_match()函数:

按指定的正则表达式搜索和匹配一次

3.preg_split()函数:

将字符串按指定的规则进行分割,用法和split()方法非常相似,只是函数preg_split()只是使用正则表达式

总结:

POSIX及Perl区别

字符集

函数

定界符

POSIX风格正则表达式

xxx:

]]的形式,

比如[[:

多数以ereg开头

Perl风格正则表达式

\x的形式,比如\w

以preg开头

必须,常用/

正则表达式

优点

1.简化代码

2.可以做复杂字符串处理

缺点

1.编写维护难度较高

2.性能比字符串处理函数低

五、错误和异常处理

在项目开发过程中,错误和异常是不可避免的,也是任何程序

员不希望发生的。

为了尽可能多地避免类似情况,所以程

序员必备的能力之一就是如何有效地调试错误并修改错误。

PHP

中提供了许多有效方法来处理错误和异常,如错误级别控制、

错误显示控制和自定义错误等。

不仅如此,在PHP5中还针对类特

别地引入了异常处理机制,增强了PHP的错误调试功能

1.常见的基本错误类型分为

1)语法错误

2)逻辑错误

3)定义错误

4)环境错误

5)运行错误

2.PHP的错误级别

名称

含义

E_ERROR

致命的运行错误,中断程序的执行

E_WARNING

运行警告,不中断程序的执行

E_PARSE

编译错误,PHP强制中止执行操作

E_STRICT

PHP版本可移植性建议

E_NOTICE

错误警告,默认情况下不输出主意信息

E_CORE_ERROR

内部错误,扩展启动失败导致的,会导致PHP运行退出。

E_CORE_WARNING

有PHP的核心产生,通常是由一个PHP扩展加载时失败引发。

PHP引擎将终止运行

E_COMPILE_ERROR

编译错误,与E_PARSE不同,这个错误会导致PHP运行退出。

E_COMPILE_WARNING

PHP编译时产生,提示用户在使用一些过时的语法。

E_USER_ERROR

用户定义错误导致PHP退出执行。

用户定义错误(E_USER_*)不是来自PHP本身,而是包含在脚本中。

E_USER_WARNING

用户定义的警告信息。

可用于脚本可能发生错误的信号。

E_USER_NOTICE

用户定义的通告可以用来在脚本中可能存在错误。

E_ALL

报告所有的错误和警告,包括上面所有的错误

3.啊

1.ini_set()函数:

控制PHP错误异常报告的设置是“display_errors”。

当PHP环境中已经关闭了错误报告(display_errors=off)、在维护过程中又要立刻显示程序错误的时候,就需要用到“ini_set()”方法

ini_set("

display_errors"

"

off"

);

//报错关闭

on"

//报错开启

2.正则表达式函数:

当程序出现错误或者用户操作不当时,我们可以使用trigger_error()函数来触发自己定义的错误信息

3.自定义错误页面的使用:

当程序出现错误或者用户操作不当时,我们可以使用trigger_error()函数来触发自定义的错误信息

其第2个参数允许的值为:

4.

六、PHP的基本异常类

Java及C#语言中都有trycatch用来捕获异常,同样也有Exception类,PHP中是怎么做的呢?

1.扩展基本异常类:

PHP5支持用户使用自定义的异常处理类来扩展PHP内置的异常处理类。

对基于异常类Exception进行扩展,最普遍的方法就是通过类的继承来实现。

具体做法就是:

自定义一个子类继承于Exception类,这样子类就继承了父类的所有属性和方法,并且还可以添加子类所特有的属性和方法。

2.

本章总结:

1.正则表达式可以帮助程序员快速开发,大大减少项目代码量

2.正则表达式提高开发效率,达到事半功倍的效果

3.错误和异常处理机制可以帮助程序员快速获取项目的完美性

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1