Flex正则表达式高级规则中预搜索和反向预搜索用法指导[优秀范文五篇]

时间:2019-05-12 23:50:14下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Flex正则表达式高级规则中预搜索和反向预搜索用法指导》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Flex正则表达式高级规则中预搜索和反向预搜索用法指导》。

第一篇:Flex正则表达式高级规则中预搜索和反向预搜索用法指导

  Flex正则表达式高级规则中预搜索和反向预搜索用法指导 http://developer.51cto.com2010-08-09 14:23adminregexlab.com我要评论(0)本文向大家介绍一下Flex正则表达式的高级规则中预搜索和反向预搜索的概念,Flex正则表达式就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。

上节我们介绍了Flex正则表达式的简单规则,本文向大家介绍一下Flex正则表达式高级规则中预搜索和反向预搜索,首先我们来看一下Flex正则表达式的概念和作用。

引言

Flex正则表达式(regularexpression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如表达式“ab+”描述的特征是“一个'a'和任意个'b'”,那么'ab','abb','abbbbbbbbbb'都符合这个特征。

Flex正则表达式可以用来:

(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。

(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。

(3)用来替换,比普通的替换更强大。

Flex正则表达式学习起来其实是很简单的,不多的几个较为抽象的概念也很容易理解。之所以很多人感觉Flex正则表达式比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难;另一方面,各种引擎自带的文档一般都要介绍它特有的功能,然而这部分特有的功能并不是我们首先要理解的。

预搜索,不匹配;反向预搜索,不匹配

前面的章节中,我讲到了几个代表抽象意义的特殊符号:“^”,“$”,“b”。它们都有一个共同点,那就是:它们本身不匹配任何字符,只是对“字符串的两头”或者“字符之间的缝隙”附加了一个条件。理解到这个概念以后,本节将继续介绍另外一种对“两头”或者“缝隙”附加条件的,更加灵活的表示方法。

◆Flex正则表达式正向预搜索:“(?=xxxxx)”,“(?!xxxxx)”

格式:“(?=xxxxx)”,在被匹配的字符串中,它对所处的“缝隙”或者“两头”附加的条件是:所在缝隙的右侧,必须能够匹配上xxxxx这部分的表达式。因为它只是在此作为这个缝隙上附加的条件,所以它并不影响后边的表达式去真正匹配这个缝隙之后的字符。这就类似“b”,本身不匹配任何字符。“b”只是将所在缝隙之前、之后的字符取来进行了一下判断,不会影响后边的表达式来真正的匹配。

举例1:表达式“Windows(?=NT|XP)”在匹配“Windows98,WindowsNT,Windows2000”时,将只匹配“WindowsNT”中的“Windows”,其他的“Windows”字样则不被匹配。

举例2:表达式“(w)((?=111)(1))+”在匹配字符串“aaaffffff999999999”时,将可以匹配6个“f”的前4个,可以匹配9个“9”的前7个。这个表达式可以读解成:重复4次以上的字母数字,则匹配其剩下最后2位之前的部分。当然,这个表达式可以不这样写,在此的目的是作为演示之用。

格式:“(?!xxxxx)”,所在缝隙的右侧,必须不能匹配xxxxx这部分表达式。

举例3:表达式“((?!bstopb).)+”在匹配“fdjkaljfdlstopfjdslafdj”时,将从头一直匹配到“stop”之前的位置,如果字符串中没有“stop”,则匹配整个字符串。

举例4:表达式“do(?!w)”在匹配字符串“done,do,dog”时,只能匹配“do”。在本条举例中,“do”后边使用“(?!w)”和使用“b”效果是一样的。

◆Flex正则表达式反向预搜索:“(?<=xxxxx)”,“(?

这两种格式的概念和正向预搜索是类似的,反向预搜索要求的条件是:所在缝隙的“左侧”,两种格式分别要求必须能够匹配和必须不能够匹配指定表达式,而不是去判断右侧。与“正向预搜索”一样的是:它们都是对所在缝隙的一种附加条件,本身都不匹配任何字符。

举例5:表达式“(?<=d{4})d+(?=d{4})”在匹配“***6”时,将匹配除了前4个数字和后4个数字之外的中间8个数字。由于JScript.RegExp不支持反向预搜索,因此,本条举例不能够进行演示。很多其他的引擎可以支持反向预搜索,比如:Java1.4以上的java.util.regex包,.NET中System.Text.RegularExpressions命名空间,以及本站推荐的最简单易用的DEELX正则引擎。

下载Flex正则表达式高级规则中预搜索和反向预搜索用法指导[优秀范文五篇]word格式文档
下载Flex正则表达式高级规则中预搜索和反向预搜索用法指导[优秀范文五篇].doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐