zrcAAA正则表达式_第1页
zrcAAA正则表达式_第2页
zrcAAA正则表达式_第3页
zrcAAA正则表达式_第4页
zrcAAA正则表达式_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

正则表达式.: 除了换行符以外的任意字符*: 前边的内容可以连续重复使用任意次以使整个表达式得到匹配.* : 任意数量的不包含换行的字符d:一位数字(0,或1,或2,或)d2:前面d必须连续重复匹配2次 b:只匹配一个位置单词的开始和结束s:匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等baw*b:匹配以字母a开头的单词先是某个单词开始处(b),然后是字母a,然后是任意数量的字母或数字(w*),最后是单词结束处(b)。例如,在ask,attribute,bule这个单词中查找以a开头的单词,就可以用这个正则表达式查找了bw6b:查找只有六个字母的单词表1.常用的元字符代码说明.匹配除换行符以外的任意字符w匹配字母或数字或下划线或汉字s匹配任意的空白符d匹配数字b匹配单词的开始或结束匹配字符串的开始$匹配字符串的结束:查找的字符串的开头$: 查找的字符串的结尾d5,12$:查找连续5到12个数字的字符串:转义字符,要查找.、*这些元字符时要用到转义字符表2.常用的限定符代码/语法说明*重复零次或更多次+重复一次或更多次?重复零次或一次n重复n次n,重复n次或更多次n,m重复n到m次w+:匹配一行的第一个单词(或整个字符串的第一个单词(?0d2) -?d8或(?0d2) -?d8:匹配像(010)88816888有01088816888这样的数字、字符串。前一个表达式 (字符“(”,“?”重复0次或1次*d2两个位置,)-“)”或“-”,*d8八个位置。0d2-d8|0d3-d7:匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(,一种是4位区号,7位本地号(0d2)- ?d8|0d2- ?d8:匹配3位区号的电话号码,其中区号可以用小括号括起来,也可以不用,区号与本地号间可以用连字号或空格间隔,也可以没有间隔d5-d4|d5与d5|d5-d4使用分枝条件时,要注意各个条件的顺序:前面一个表达式用于匹配如:12345-1234或12345这样的字符串,后面的只能匹配5位数字的字符串,因为匹配分枝条件时,将会从左到右地测试每个条件,如果满足了某个分枝的话,就不会去再管其它的条件了(20-4d|250-5|01?dd?).)3(20-4d|250-5|01?dd?):利用分组匹配IP地址,其中20-4d|250-5|01?dd?这样理解-2开头的三位数,或25开头的三位数,或少于200的数如10,110,115,55等。01?即0或1出现一次或不出现,d?即0-9的数出现一次或不出现。(20-4d|250-5|01?dd?).)3即前三个IP数复三次,?重复出现一次或零次。表3.常用的反义代码代码/语法说明W匹配任意不是字母,数字,下划线,汉字的字符S匹配任意不是空白符的字符D匹配任意非数字的字符B匹配不是单词开头或结束的位置x匹配除了x(x可以为任意字符)以外的任意字符aeiou匹配除了aeiou这几个字母以外的任意字符b(w+)bs+1b:匹配重复的单词,+号重复至少一次,s匹配任意空白符,1即第一个分组匹配的文本指定子表达式的组名,要指定一个子表达式的组名,使用这样的语法:(?w+)(或者把尖括号换成也行:(?Wordw+),这样就把w+的组名指定为Word。要反向引用这个分组捕获的内容,可以使用k,所以上一个例子也可以写成这样:b(?w+)bs+kb。正则表达式分组命名规则注:exp为要匹配的字符串或表达式 分组0对应整个正则表达式 实际上组号分配过程是要从左向右扫描两遍的:第一遍只给未命名组分配,第二遍只给命名组分配因此所有命名组的组号都大于未命名的组号 你可以使用(?:exp)这样的语法来剥夺一个分组对组号分配的参与权 表4.常用分组语法分类代码/语法说明捕获(exp)匹配exp,并捕获文本到自动命名的组里(?exp)匹配exp,并捕获文本到名称为name的组里,也可以写成(?nameexp)(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号零宽断言(?=exp)匹配exp前面(左边)的位置(?=exp)匹配exp后面(右边)的位置(?!exp)匹配后面跟的不是exp的位置(?!exp)匹配前面不是exp的位置注释(?#comment)这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读注:exp为要匹配的字符串或表达式bu.*b(?=aaa):匹配字符串(aaa)前面以u开头的字符串 -(?=exp) (aaa):匹配字符串(aaa)-(exp)断言用来声明一个应该为真的事实。正则表达式中只有当断言为真时才会继续进行匹配。(?=exp):也叫零宽度正预测先行断言,它断言自身出现的位置的后面能匹配表达式exp。(注:后面即exp出现的左边部分)bw+(?=ingb):匹配以ing结尾的单词的前面部分(除了ing以外的部分),查找Im singing while youre dancing.时,匹配sing和danc。(?=exp):也叫零宽度正回顾后发断言,它断言自身出现的位置的前面能匹配表达式exp。(注:前面即exp出现的右边部分)(?=bre)w+b:会匹配以re开头的单词的后半部分(除了re以外的部分),查找reading a book时,它匹配ading。假如想要给一个很长的数字中每三位间加一个逗号(当然是从右边加起了),可以这样查找需要在前面和里面添加逗号的部分:(?=d)d3)+b,用它对1234567890进行查找时结果是234567890。(?=s)d+(?=s):匹配以空白符间隔的数字(再次强调,不包括这些空白符)。即数字串的左右都有空白字符 (?=s)d3(?!d)零宽度负预测先行断言(?!exp),断言此位置的后面不能匹配表达式exp。(?=s):匹配单独的三位数字不包含空字符(?!a-z)d7:匹配左边不是小写字母的七位数字(?!a-z)d7(?=s):匹配左边不是小写字母右边不是空字符的七位数字(?=)s?.*s?(?=):匹配html标志之间的单行文本(多行的暂时没想到)如:测试正则表达式测试正则表达式。返回的是测试正则表达式、测试正则表达式。这两个字符串。(?=(?# 断言要匹配的文本的前缀)语法(?#comment)用来包含注释(?# 查找尖括号括起来的字母或数字(即HTML/XML标签)(?# 前缀结束).*(?# 匹配任意文本)(?=(?# 断言要匹配的文本的后缀)(?# 查找尖括号括起来的内容:前面是一个/,后面是先前捕获的标签)(?# 后缀结束):带注释的正则表达式a.?b与a.?*b:前面的表达式匹配a开头b结尾但a与b之间只有一个或零个字母的字符串,而后面的表达式可以匹配a开头b结尾但a与b之间可有n个字母但不包含字母b的字符串。表5.懒惰限定符代码/语法说明*?重复任意次,但尽可能少重复+?重复1次或更多次,但尽可能少重复?重复0次或1次,但尽可能少重复n,m?重复n到m次,但尽可能少重复n,?重复n次以上,但尽可能少重复正则表达式口诀正则其实也势利,削尖()头来把钱($)揣; (指开始符号和结尾符号$)特殊符号(. *)认不了,弄个倒杠()来引路; (指. *等特殊符号)倒杠()后面跟小w, 数字字母来表示; (w跟数字字母;d跟数字)倒杠()后面跟小d, 只有数字来表示;倒杠()后面跟小a, 报警符号嘀一声;倒杠()后面跟小b, 单词分界或退格;倒杠()后面跟小t, 制表符号很明了;倒杠()后面跟小r, 回车符号知道了;倒杠()后面跟小s, 空格符号很重要;小写跟罢跟大写,多得实在不得了;倒杠()后面跟大W, 字母数字靠边站;倒杠()后面跟大S, 空白也就靠边站;倒杠()后面跟大D, 数字从此靠边站;倒框后面跟大B, 不含开头和结尾;单个字符要重复,三个符号来帮忙; (* + ?)0 星加1 到无穷,问号只管0 和1; (*表0-n;+表1-n;?表0-1次重复)花括号里学问多,重复操作能力强; (n n, n,m)若要重复字符串,园括把它括起来; (abc)3 表示字符串“abc”重复3次 )特殊集合自定义,中括号来帮你忙;转义符号行不通,一个一个来排队;实在多得排不下,横杠请来帮个忙; (1-5)尖头放进中括号,反义定义威力大; (a指除“a”外的任意字符 )1竖作用可不小,两边正则互替换; (键盘上与“”是同一个键)1竖能用很多次,复杂定义很方便;园括号,用途多;反向引用指定组,数字排符对应它; (“b(w+)bs+1b”中的数字“1”引用前面的“(w+)”)支持组名自定义,问号加上尖括号; (“(?w+)”中把“w+”定义为组,组名为“Word”)园括号,用途多,位置指定全靠它;问号等号字符串,定位字符串前面; (“bw+(?=ingb)”定位“ing”前面的字符串)若要定位串后面,中间插个小于号; (“(?=bsub)w+b”定位“sub”后面的字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论