- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
正则表达式讲解
第单元:
【】
【】
一、正则表达式概念:
1、正则表达式就是描述字符串排列模式的一种自定义语法规则。
2、如果可以使用字符串处理函数完成的任务,就不要使用正则
3、有一些复杂的操作,只能使用正则完成。正则表达式可以在很多计算机语言中应用
4、正则表达式也称为一种模式表达式。
5、正则表达式是通过构建具有特定规则的模式,与输入的字符信息比较。进行分割、匹配、查找、替换等工作
6、正则表达式是具有特殊意义的字符组成的字符串
7、看作是一种编程语言(是用一些特殊字符,按规则编写出一个字符串,形成一种模式---正则表达式)
注意:
如果正则表达式,不和函数一起使用,则它就是一个字符串,如果将正则表达式放到到某个函数中使用,才能发挥出正则表达式的作用。
用到分割函数中,就可以用这个正则去分割字符串
用到替换函数中,就可以用这个正则去替换字符串
...
在PHP中给我们提供两套正则表达式函数库:POSIX 扩展正则表达式函数(ereg_)和Perl 兼容正则表达式函数(preg_),这个函数功能一样, 处理字符串效率高的是Perl,所以我们只学习Perl兼容正则表达式函数库
二、语法结构:
/\img\s*src=\.*?\\/\/
/原子和元字符/模式修正符号
/ 为定界符号 (有一些语言是不需要这个定界符号)
注意:javascript语言中不支持模式修正符号
三、定界符与表达式中的符号:
除了字母、数字和反斜线\ 以外的任何字符都可以为定界符号,没有特殊需要,我们都使用正斜线作为正则表达式的定界符号
| |
/ /
{ }
! !
表达式中涉及到的符号的优先级:
\ 最高
() (?:) []
* + ? {}
^ $ \b
| 最低
四、原子: img \s .
原子是正则表达式的最基本组成单位,而且必须至少要包含一个原子只要一个正则表达式可以单独使用的字符,就是原子。
1. 所有打印(所有可以在屏幕上输出的字符串)和非打印字符(看不到的)
2. \. \* \+ \? \( \\ 如果所有有意义的字符,想作为原子使用,统统使用 ”\“转义字符转义,
\ 转义字符可以将有意的字符转成没意义的字符,还可以将没意义的字符转为有意义的字符
3. 在正则表达式中可以直接使用一些代表范围的原子
\d : 表示任意一个十进制的数字 [0-9]
\D : 表示任意一个除数字这外的字符 [^0-9]
\s : 表示任意一个空白字符,空格、\n\r\t\f [\n\r\t\f ]
\S : 表示任意一个非空白 [^\n\r\t\f ]
\w : 表示任意一个字 a-zA-Z0-9_ [a-zA-Z_]
\W : 表示任意一个非字,特殊字符。 除了a-zA-Z0-9_以外的任意一个字符 [^a-zA-Z0-9_]
. : 默认情况下,表示除换行符外任意一个字符
4. 自己定义一个原子表[], 可以匹配方括号中的任何一个原子
[a-z5-8]
[^a-z] 表示取反, 就是除了原子表中的原子,都可以表示(^必须在[]内的第一个字符处出现)
五、元字符 * ?
元字符是一种特殊的字符,是用来修饰原子用的,不可以单独出现
? : {0,1} 表示其前面的原子可以出现0次或1次, 有只能有一次,要么没有
+ : {1,} 表示其前的原子可以出现1次 或多次, 不能没有最少要有一个
* : {0,} 表示其前的原子可以出现 0次、1次、或多次
{} : 用于自己定义前面原子出现的次数(m,n表示一个整数)
{m} {5}表示前面的原子出现5次
{m,} {5,}表示前面的原子最少出现m次,最多无限
{m,n} m要小于n, 表示前面出现的原子,最少m次,最多n次,包括m和n次
^ : 直接在一个正则表达式的第一个字符出现,则表达必须以这个正则表达式开始
$ : 直接在一个正则表达式的最后一个字符出现,则表达必须以这个正则表达式结束
| : 表示或的关系 , 它的优先级号是最低的,最后考虑它的功能
\b : 表示一个边界
\B :表示一个非边界
() : 重点,作用如下:
A、作为大原子使用
B、改变优先级,加
文档评论(0)