版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上正则表达式l 含义:编写字符串处理的程序或网页时,会有查找符合某复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。它是记录文本规则的代码。元字符用来代替字符的符号表1.常用的元字符代码说明.匹配除换行符以外的任意字符w匹配字母或数字或下划线或汉字s匹配任意的空白符d匹配数字注:s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等正则表达式中的空格会当成空格匹配。(输入几个空格就匹配几个)非打印字符非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符的转义序列:字符描述cx匹配由x指明的控制字符。例如, cM 匹配一个 Cont
2、rol-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。f匹配一个换页符。等价于 x0c 和 cL。n匹配一个换行符。等价于 x0a 和 cJ。r匹配一个回车符。等价于 x0d 和 cM。s匹配任何空白字符,包括空格、制表符、换页符等等。等价于 fnrtv。S匹配任何非空白字符。等价于 fnrtv。t匹配一个制表符。等价于 x09 和 cI。v匹配一个垂直制表符。等价于 x0b 和 cK。限定符 重复:表现重复时用的是大括号和* + ?,表示范围时用的是中括号,中括号里面是只选其中一个的组合。 表达分组时用圆括号(),一个圆括
3、号表示一个意思。表2.常用的限定符代码/语法说明*重复零次或更多次+重复一次或更多次?重复零次或一次n重复n次n,重复n次或更多次n,m重复n到m次l 字符类,用来表示取字符的范围区间,用中括号括起来0-9代表da-z0-9A-Z表示wl 分支条件,用|表示或者的关系。l 贪婪与懒惰、最先开始匹配拥有最高优先权*、+和?限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。.*表示尽可能匹配多的字符.*?表示尽可能少的字符例如:字符串aabab,用贪婪匹配a.*b得到aabab,用懒惰匹配a.*?b得到aab和ab定位符定位符使您能够将正则表达式
4、固定到行首或行尾。它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾。定位符用来描述字符串或单词的边界,和$分别指字符串的开始与结束,b描述单词的前或后边界,B表示非单词边界。正则表达式的限定符有:字符描述匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性, 还会与 n 或 r 之后的位置匹配。$匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与 n 或 r 之前的位置匹配。b匹配一个字边界,即字与空格间的位置。B非字边界匹配。子表达式分组获取()l 分组,用()
5、把子表达式括起来,给一个组号,后面可以再用 l 后向引用,用()定义的分组,可以给它定一个组名,在后面加以利用。用(?<Word>w+)或者(?Wordw+)定义w+组名为Word,利用方式为k<Word>表4.常用分组语法分类代码/语法说明捕获(exp)匹配exp,并捕获文本到自动命名的组里(?<name>exp)匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)非捕获(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号零宽断言(?=exp)匹配exp前面的位置(?<=exp)匹配exp后面的
6、位置(?!exp)匹配后面跟的不是exp的位置(?<!exp)匹配前面不是exp的位置注释(?#comment)这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读捕获从下面的例子中可以看到,根据正则表达式,只捕获了括号内的东西到组中,第一个括号前面D*匹配到的东西被忽略了。零宽度断言(?=exp) 用法:bw+(?=ing)b,匹配以ing结尾的单词的前面部分,如查找Im singing and dancing,会匹配sing和danc(?<=exp) 用法:(?<=rea)w+b,匹配以rea开头的单词的后面部分,如查找reading a book,会匹配
7、ding注释:(?#comment)例如:20-4d(?#200-249)|250-5(?#250-255)|01?dd?(?#0-199)反义l 反义,找完全相反的内容。注意这里使用的都是大写表3.常用的反义代码代码/语法说明W匹配任意不是字母,数字,下划线,汉字的字符(剩下符号等) S匹配任意不是空白符的字符D匹配任意非数字的字符B匹配不是单词开头或结束的位置x匹配除了x以外的任意字符aeiou匹配除了aeiou这几个字母以外的任意字符平衡组/递归匹配(?'group') 把捕获的内容命名为group,并压入堆栈(Stack) (?'-group') 从堆栈
8、上弹出最后压入堆栈的名为group的捕获内容,如果堆栈本来为空,则本分组的匹配失败 (?(group)yes|no) 如果堆栈上存在以名为group的捕获内容的话,继续匹配yes部分的表达式,否则继续匹配no部分 (?!) 零宽负向先行断言,由于没有后缀表达式,试图匹配总是失败 <<>*(?'Open'<)<>*)+(?'-Open'>)<>*)+)*(?(Open)(?!)>可以从xx <aa <bbb> <bbb> aa> yy中找到<aa <bbb> <bbb> aa><div>*><>*(?'Open'<div>*>)<>*)+(?'-Open'</div>)<>*)+)*(?(Open)(?!)</div>可以找到配对的<div>和</div>,不管有没有不配对的html出现。好的例子将所有地址中的ROAD写成RD.若地址中的字符不是大写的,先可以都改成大写的。匹配以罗马数字标示的四位数年份注:在罗马数字上加一个横线,就会乘以1000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030便利店行业竞争格局与加盟体系优化研究报告
- 2025-2030中国防辐射市场需求前景预测与投资价值评估研究报告
- 2025-2030中国智能阳台行业市场现状分析及投资评估规划前景研究报告
- 2025-2030中国电脑散热风扇行业需求规模预测及竞争战略规划研究报告
- 2025-2030中国生物饲料行业投资效益分析及需求格局趋势预测研究报告
- 2026年浙江省温岭市卫生事业单位公开招聘医学卫生类高学历人才备考题库及一套完整答案详解
- 凉州区从2026届小学全科型教师培养计划毕业生中公开招聘事业单位工作人员备考题库及完整答案详解一套
- 2025至2030中国白羽肉鸡种源自主化进程与市场替代空间研究报告
- 2026年长春市消防救援支队南部都市经济开发区大队公开招录政府专职消防员的备考题库及参考答案详解一套
- 安泰天龙钨钼科技有限公司招聘备考题库-2026届及答案详解1套
- 植入式静脉给药装置(输液港)-中华护理学会团体标准2023
- GB/T 2988-2023高铝砖
- 东风7电路图解析
- 数字填图系统新版(RgMap2.0)操作手册
- YY/T 1778.1-2021医疗应用中呼吸气体通路生物相容性评价第1部分:风险管理过程中的评价与试验
- FZ/T 73009-2021山羊绒针织品
- JJF 1069-2012 法定计量检定机构考核规范(培训讲稿)
- 2011-2015广汽丰田凯美瑞维修手册wdl
- DFMEA编制作业指导书新版
- DB35∕T 1844-2019 高速公路边坡工程监测技术规程
- 城市管理综合执法局城管执法与执法程序PPT模板
评论
0/150
提交评论