正则表达式介绍和例子

正则表达式介绍和例子

ID:14581407

大小:631.13 KB

页数:9页

时间:2018-07-29

正则表达式介绍和例子_第1页
正则表达式介绍和例子_第2页
正则表达式介绍和例子_第3页
正则表达式介绍和例子_第4页
正则表达式介绍和例子_第5页
资源描述:

《正则表达式介绍和例子》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、正则表达式l含义:编写字符串处理的程序或网页时,会有查找符合某复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。它是记录文本规则的代码。元字符用来代替字符的符号表1.常用的元字符代码说明.匹配除换行符以外的任意字符w匹配字母或数字或下划线或汉字s匹配任意的空白符d匹配数字注:s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等正则表达式中的空格会当成空格匹配。(输入几个空格就匹配几个)非打印字符非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符

2、的转义序列:字符描述cx匹配由x指明的控制字符。例如,cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的'c'字符。f匹配一个换页符。等价于x0c和cL。匹配一个换行符。等价于x0a和cJ。r匹配一个回车符。等价于x0d和cM。s匹配任何空白字符,包括空格、制表符、换页符等等。等价于[frtv]。S匹配任何非空白字符。等价于[^frtv]。t匹配一个制表符。等价于x09和cI。v匹配一个垂直

3、制表符。等价于x0b和cK。限定符重复:表现重复时用的是大括号{}和*+?,表示范围时用的是中括号[],中括号里面是只选其中一个的组合。表达分组时用圆括号(),一个圆括号表示一个意思。表2.常用的限定符代码/语法说明*重复零次或更多次+重复一次或更多次?重复零次或一次{n}重复n次{n,}重复n次或更多次{n,m}重复n到m次l字符类[],用来表示取字符的范围区间,用中括号括起来[0-9]代表d[a-z0-9A-Z]表示wl分支条件,用

4、表示或者的关系。l贪婪与懒惰、最先开始匹配拥有最高

5、优先权*、+和?限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。.*表示尽可能匹配多的字符.*?表示尽可能少的字符例如:字符串aabab,用贪婪匹配a.*b得到aabab,用懒惰匹配a.*?b得到aab和ab定位符定位符使您能够将正则表达式固定到行首或行尾。它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾。定位符用来描述字符串或单词的边界,^和$分别指字符串的开始与结束,b描述单词的前或

6、后边界,B表示非单词边界。正则表达式的限定符有:字符描述^匹配输入字符串开始的位置。如果设置了RegExp对象的Multiline属性,^还会与或r之后的位置匹配。$匹配输入字符串结尾的位置。如果设置了RegExp对象的Multiline属性,$还会与或r之前的位置匹配。b匹配一个字边界,即字与空格间的位置。B非字边界匹配。子表达式分组获取()l分组,用()把子表达式括起来,给一个组号,后面可以再用l后向引用,用()定义的分组,可以给它定一个组名,在后面加以利用。用(?

7、d>w+)或者(?’Word’w+)定义w+组名为Word,利用方式为k表4.常用分组语法分类代码/语法说明捕获(exp)匹配exp,并捕获文本到自动命名的组里(?exp)匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)非捕获(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号零宽断言(?=exp)匹配exp前面的位置(?<=exp)匹配exp后面的位置(?!exp)匹配后面跟的不是exp的位置(?

8、是exp的位置注释(?#comment)这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读捕获从下面的例子中可以看到,根据正则表达式,只捕获了括号内的东西到组中,第一个括号前面^D*匹配到的东西被忽略了。零宽度断言(?=exp)用法:bw+(?=ing)b,匹配以ing结尾的单词的前面部分,如查找I’msinginganddancing,会匹配sing和danc(?<=exp)用法:(?<=rea)w+b,匹配以rea开头的单词的后面部分,如查找readingabo

9、ok,会匹配ding注释:(?#comment)例如:2[0-4]d(?#200-249)

10、25[0-5](?#250-255)

11、[01]?dd?(?#0-199)反义l反义,找完全相反的内容。注意这里使用的都是大写表3.常用的反义代码代码/语法说明W匹配任意不是字母,数字,下划线,汉字的字符(剩下符号等)S匹配任意不是空白符的字符D匹配任意非数字的字符B匹配不是单词开头或结束的位置[^x]匹配除了x以外的任意字符[^aeiou]匹配除了aeiou这几个字母以外的任意字符平衡组/递

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。