在应用程序中经常需要查找符合某种复杂规则的字符串。例如,电话号码字符串“0577-23234312”前四位为区号,后八位为电话号,中间以“-”相连。事实上,不同地区的电话号长度也不尽相同。使用正则表达式可高效地匹配查找字符串数据。
正则表达式是用于描述复杂规则的工具。在许多应用程序中用户其实已经接触到了正则表达式
使用正则表达式的难点在于如何定义正确的正则表达式。不正确的正则表达式不能准确地描述字符串规则。正则表达式错误有两种表现形式:规则完全不合逻辑、规则不能满足全部要求。前者可能是开发者逻辑上的错误引起的。
正则表达式的定义有较多的语法,并且较长的正则表达式往往可读性不高。因此,对于初学正则表达式的读者会有一定的困难。
正则表达式是一种标准,并非Flex特有。正则表达式的语法较多,由于本书篇幅有限,将只介绍入门级别的语法知识。但对于在Flex应用程序中使用正则表达式已经够用。
元字符: 元字符是正则表达式中最基本的元素,用于匹配最基本字符。
转义字符: 若用户要匹配元字符或其他有特殊意义的字符,如“.”、“\”、“(”等,就需要使用转义字符。正则表达式中的转义字符在字符前加反斜杠“\”,如“\.”、“\\”、“\(”等。
限定符: 限定符用于确定重复方式。例如,“*”表示0个或多个,“{2}”表示2个。
字符集合: 字符集合用于匹配集合内的字符,使用“[]”操作符表示。
多规则:是指正则表达式可有多种规则,规则间以“|”符分隔。例如,“\d+|[0-9a-z]+”表达匹配多个数字组成的字符串或由数字、小写字母混合的字符串。
以下正则表达式匹配两种以连字号“-”分隔的电话号码。一种是前3位区号,8位本地号,如011-43432423。另一种是前4位区号,7位本地号,如0343-4324246。
子表达式:前面章节中介绍如何重复单个字符,若要重复多个字符就需要使用子表达式。子表达式用括号将多个字符联合起来,如“(\d\w\d)”、“(\d[a-z])”等。子表达式是正则表达式中最常使用的语法之一。 flex中使用正则表达式: 正则表达式可用于匹配查找字符串中符合某种规则的字符子串,也可使用正则表达式来验证输入数据。
1.使用RegExp类的exec()方法匹配数据 2.使用RegExp类的test()方法匹配数据 3.使用String类的match()方法匹配数据