- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
php正则表达式(绝对经典_让你学起来简单_保你一个小时就掌握)选编
Php语法知识;;正则表达式的历史;正则表达式定义 ; 3.2 非打印字符
;3.3 特殊字符
所谓特殊字符,就是一些有特殊含义的字符,如上面说的*.txt中的*,简单的说就是表示任何字符串的意思。如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个\。ls \*.txt。正则表达式有以下特殊字符。 ;; 构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与操作符将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。
3.4 限定符
限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有*或+或?或{n}或{n,}或{n,m}共6种。
*、+和?限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们???后面加上一个?就可以实现非贪婪或最小匹配。;正则表达式的限定符有:
;3.5 定位符
用来描述字符串或单词的边界,^和$分别指字符串的开始与结束,\b描述单词的前或后边界,\B表示非单词边界。不能对定位符使用限定符。
3.6 选择
用圆括号将所有选择项括起来,相邻的选择项之间用|分隔。但用圆括号会有一个副作用,是相关的匹配会被缓存,此时可用?:放在第一个选项前来消除这种副作用。
其中?:是非捕获元之一,还有两个非捕获元是?=和?!,这两个还有更多的含义,前者为正向预查,在任何开始匹配圆括号内的正则表达式模式的位置来匹配搜索字符串,后者为负向预查,在任何开始不匹配该正则表达式模式的位置来匹配搜索字符串。 ;3.7 后向引用
对一个正则表达式模式或部分模式两边添加圆括号将导致相关匹配存储到一个临时缓冲区中,所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容存储。存储子匹配的缓冲区编号从 1 开始,连续编号直至最大 99 个子表达式。每个缓冲区都可以使用 ‘\n’ 访问,其中 n 为一个标识特定缓冲区的一位或两位十进制数。
可以使用非捕获元字符 ?:, ?=, or ?! 来忽略对相关匹配的保存。 ;各种操作符的运算优先级
相同优先级的从左到右进行运算,不同优先级的运算先高后低。各种操作符的优先级从高到低如下:
;5. 全部符号解释 ;;;;6. 。 部分例子;7. 正则表达式匹配规则 ; 在该模式中的字母(o-n-c-e)是字面的字符,也就是说,他们表示该字母本身,数字也是一样的。其他一些稍微复杂的字符,如标点符号和白字符(空格、制表符等),要用到转义序列。所有的转义序列都用反斜杠(\)打头。制表符的转义序列是:\t。所以如果我们要检测一个字符串是否以制表符开头,可以用这个模式: ^\t 类似的,用\n表示“新行”,\r表示回车。其他的特殊符号,可以用在前面加上反斜杠,如反斜杠本身用\\表示,句号.用\.表示,以此类推。
7.2 字符簇
在INTERNET的程序中,正规表达式通常用来验证用户的输入。当用户提交一个FORM以后,要判断输入的电话号码、地址、EMAIL地址、信用卡号码等是否有效,用普通的基于字面的字符是不够的。 所以要用一种更自由的描述我们要的模式的办法,它就是字符簇。要建立一个表示所有元音字符的字符簇,就把所有的元音字符放在一个方括号里: [AaEeIiOoUu] 这个模???与任何元音字符匹配,但只能表示一个字符。用连字号可以表示一个字符的范围,如: [a-z] //匹配所有的小写字母 [A-Z] //匹配所有的大写字母 [a-zA-Z] //匹配所有的字母 [0-9] //匹配所有的数字 [0-9\.\-] //匹配所有的数字,句号和减号 [ \f\r\t\n] //匹配所有的白字符 同样的,这些也只表示一个字符,这是一个非常重要的。 ; 如果要匹配一个由一个小写字母和一位数字组成的字符串,比如“z2”、“t6”或“g7”,但不是“ab2”、“r2d3” 或“b52”的话,用这个模式: ^[a-z][0-9]$ 尽管[a-z]代表26个字母的范围,但在这里它只能与第一个字符是小写字母的字符串匹配。
前面曾经提到^表示字符串的开头,但它还有另外一个含义。当在一组方括号里使用^是,它表示“非”或“排除”的意思,常常用来剔除某个字符。还用前面的例子,我们要求第一个字符不能是数字: ^[^0-9][0-9]$ 这个模式与5、g7及-2是匹配的,但与12、66是不匹配的。下面
您可能关注的文档
- PEP小学英语四年级上册Unit3-My-Friends选编.ppt
- phich选编.doc
- PH116-12激光选编.pptx
- PhoningHome选编.ppt
- phil--《多媒体技术应用》课件第1章-多媒体技术概述选编.ppt
- PhotoshopCS6从入门到精通笔记选编.docx
- Photoshop-CS6破解方法选编.doc
- PhotoshopCS6选编.ppt
- Photoshop-CS6经典教程好选编.ppt
- photoshop介绍选编.ppt
- 幼儿园环境创设方案中班 幼儿园环境创设方案设计(精彩8篇) .pdf
- 银行支票影像交换系统业务管理办法模版 .pdf
- 年产2万吨新能源光伏支架及结构件产品项目.pdf
- 年产600套物料搬运设备、600套涂装设备、200套环保设备项目.docx
- 年产50000只塑料包装袋及20万米包装复合膜、新增100吨PE膜、100吨PET膜搬迁项目.docx
- 年产2000万米压花布、2000万米成品布、1000万米数码印花布项目.docx
- 年产170万根纸管及珍珠棉深加工项目.pdf
- 年产1000台(套)茶叶加工智能化成.pdf
- 年产5万支双金属温度计、2万只热电偶和热电阻项目.pdf
- 年产30台套玻璃加工工业4.0柔性设备线及配套服务项目竣工环境保护验收监测报告表.doc
文档评论(0)