Flash AS教程(五)正则表达式
Flash AS教程(五)正则表达式
不论在哪种语言中正则表达式都是不可避免的难题,可能你经过了多次学习正则表达式的过程,但还是没有真正掌握这种方法,本章将详解
多个例子,帮助您了解AS中的正则表达式。
【温馨提示:正则表达式可能非常复杂且具有许多细微差别,不同的编程环境实现正则表达式的方式也不同】
例如,下面的正则表达式与以字符A开头并且后跟一个或多个连续数字的字符串匹配: /A\d+/
正则表达式基础知识
正则表达式可能非常简单。例如,假设您要确认特定字符串与“ABC”是否匹配,或者要
使用某些其它文本替换字符串中出现的每个“ABC” 。在这种情况下,您可以使用以下正则
表达式,它定义了依次包含字母 A、 B 和 C 的模式:
/ABC/
请注意,正则表达式文本是使用正斜杠 (/) 界定的。
重要概念和术语
以下参考列表包含将会在本章中使用的重要术语:
■ 转义字符 (Escape character):此字符指示应将后面的字符视为元字符,而不是字面字
符。在正则表达式语法中,反斜杠字符 (\) 就是转义字符,因此反斜杠后跟另一个字符是
一个特殊代码,而不仅仅是字符本身。
■ 标志 (Flag):此字符指定有关应如何使用正则表达式模式的一些选项,如是否区分大写
和小写字符。
■ 元字符 (Metacharacter):在正则表达式模式中具有特殊含义的字符,它与从字面意义上
在模式中表示该字符相对。
■ 数量表示符 (Quantifier):一个或几个字符,指示应将模式部分重复多少次。例如,使
用数量表示符来指定美国邮政编码应包含 5 个或 9 个数字。
■ 正则表达式 (Regular expression):用于定义字符模式的程序语句,它可用来确认其它字
符串是否与该模式匹配,或者替换字符串的一部分。
除了它的模式外,正则表达式还可以包含标志,用于指定正则表达式的匹配方式。例如,下
面的正则表达式使用 i 标志指定正则表达式在匹配字符串中忽略大小写:
/ABC\d*/i
下面的`正则表达式定义了由字母 ABC 后跟任意数目的数字组成的模式 (注意星号) :
/ABC\d*/
创建正则表达式实例
有两种方法可以创建正则表达式实例。一种方法是使用正斜杠字符 (/) 来界定正则表达式,
另一种是使用 new 构造函数。例如,以下两个正则表达式是等效的:
var pattern1:RegExp = /bob/i;
var pattern2:RegExp = new RegExp("bob", "i");
最简单的正则表达式是与字符序列匹配的表达式,如以下示例中所示:
var pattern:RegExp = /hello/;
但是,下列字符 (称为元字符)在正则表达式中具有特殊含义,学生范文网,阳光百科,flash actionscript教程:
^ $ \ . * + ? ( ) [ ] { } |
例如,下面的正则表达式所匹配的是字母 A 后跟字母 B 的零个或多个实例 (星号元字符表
示重复)再跟字母 C:
/AB*C/
要在正则表达式模式中包含元字符以使其不具有特殊含义,您必须使用反斜杠 (\) 转义字
符。例如,下面的正则表达式与顺序依次为字母 A、字母 B、星号和字母 C 的模式匹配:
var pattern:RegExp = /AB\*C/;
下表总结了可以在正则表达式中使用的元字符:
^ (尖号) 匹配字符串的开头。
$ (美元符号) 匹配字符串的结尾。
\ (反斜杠) 对特殊字符的特殊元字符含义进行转义。
. (点) 匹配任意单个字符。
* (星号) 匹配前面重复零次或多次的项目。
+ (加号) 匹配前面重复一次或多次的项目。
? (问号) 匹配前面重复零次或一次的项目。
字符类中字符的范围
使用连字符指定字符的范围,例如 A-Z、a-z 或 0-9。这些字符必须在字符类中构成有效的
范围。例如,下面的字符类匹配 a-z 范围内的任何一个字符或任何数字www.sundxs.com:
/[a-z0-9]/
您还可以使用 \xnn ASCII 字符代码通过 ASCII 值指定范围。例如,下面的字符类匹配扩
展 ASCII 字符集中的任意字符 (如 é 和 ê):
/[\x80-\x9A]/
【 Flash AS教程(五)正则表达式】相关文章:
6.Flash显示编程-ActionScript从入门到精通教程(六)