2010
12.02

AS3.0正则表达式介绍

正则表达式描述字符模式,通常用于验证字符串是否符合特定模式,或者替换查找与模式匹配的文本。以下介绍AS3.0正则表达式中常用元素:

元字符

^ (尖号) 匹配字符串的开头。设置 m (multiline) 标志后,尖号还匹配行的开头。请注意,尖号用在字

符类的开头时表示符号反转而非字符串的开头。

$ (美元符号) 匹配字符串的结尾。设置 m (multiline) 标志后, $ 还匹配换行 (\n) 字符前面的位置。

\ (反斜杠) 对特殊字符的特殊元字符含义进行转义。此外,如果要在正则表达式文本中使用正斜杠字符,也要使用反斜杠字符,例如, /1\/2/ 匹配字符 1 后跟正斜杠字符和字符 2。

. (点) 匹配任意单个字符。只有设置 s (dotall) 标志时,点才匹配换行字符 (\n)。

* (星号) 匹配前面重复零次或多次的项目。

+ (加号) 匹配前面重复一次或多次的项目。

? (问号) 匹配前面重复零次或一次的项目。

( 和 ) 在正则表达式中定义组。以下情况下使用组:

• 限制逻辑”或”字符 | 的范围:/(a|b|c)d/

• 定义数量表示符的范围:/(walla.){1,2}/

• 用在逆向引用中。例如,下面的正则表达式中的 \1 匹配模式的第一个括号组中的匹配内容:

/(\w*) is repeated: \1/

[ 和 ] 定义字符类,字符类定义单个字符可能的匹配:

/[aeiou]/ 匹配所指定字符中的任意一个。

在字符类中,使用连字符 (-) 指定字符的范围:

/[A-Z0-9]/ 匹配从 A 到 Z 的大写字母或 0 到 9 的数字。

在字符类中,插入反斜杠对 ] 和- 字符进行转义:

/[+\-]\d+/ 匹配一个或多个数字前面的 + 或 – 。

在字符类中,以下字符(通常为元字符)被看作一般字符(非元字符),不需要反斜杠:

/[$.]/ 匹配 $ 或 . 。

| (竖线) 用于逻辑”或”操作,匹配左侧或右侧的部分:

/abc|xyz/ 匹配 abc 或 xyz。

元序列

{n} 指定前一项目的数值数量或数量范围:

{n,} /A{27}/ 匹配重复 27 次的字符 A。

和 /A{3,}/ 匹配重复 3 次或更多次的字符 A。

{n,n} /A{3,5}/ 匹配重复 3 到 5 次的字符 A。

\b 匹配单词字符和非单词字符之间的位置。如果字符串中的第一个或最后一个字符是单词字符,则也匹

配字符串的开头或结尾。

\B 匹配两个单词字符之间的位置。也匹配两个非单词字符之间的位置。

\d 匹配十进制数字。

\D 匹配除数字以外的任何字符。

\f 匹配换页符。

\n 匹配换行符。

\r 匹配回车符。

\s 匹配任何空白字符(空格、制表符、换行符或回车符)。

\S 匹配除空白字符以外的任何字符。

\t 匹配制表符。

\unnnn 匹配字符代码由十六进制数字 nnnn 指定的 Unicode 字符。例如,\u263a 是一个笑脸字符。\v 匹配

垂直换页符。

\w 匹配单词字符(A-Z、a-z、0-9 或 _)。请注意, \w 不匹配非英文字符,如é 。

\W 匹配除单词字符以外的任何字符。

\xnn 匹配具有指定 ASCII 值(由十六进制数字 nn 定义)的字符。

字符类需要转义的字符(一般的元字符和元序列在字符类中丢失特殊含义)

] 定义字符类的结尾。

- 定义字符范围。

\ 定义元序列并撤销元字符的特殊含义

\n 匹配换行符。

\r 匹配回车符。

\t 匹配制表符。

\unnnn 匹配具有指定 Unicode 代码点值(由十六进制数字 nnnn 定义)的字符。

\xnn 匹配具有指定 ASCII 值(由十六进制数字 nn 定义)的字符。

反转字符类

如果在字符类的开头使用尖号 (^) 字符,则将反转该集合的意义,即未列出的任何字符都认

为匹配。下面的字符类匹配除小写字母 (a-z) 或数字以外的任何字符:/[^a-z0-9]/

数量标识符

* (星号) 匹配前面重复零次或多次的项目。

+ (加号) 匹配前面重复一次或多次的项目。

? (问号) 匹配前面重复零次或一次的项目。

{n} 指定前一项目的数值数量或数量范围:

{n,} /A{27}/ 匹配重复 27 次的字符 A。

和 /A{3,}/ 匹配重复 3 次或更多次的字符 A。

{n,n} /A{3,5}/ 匹配重复 3 到 5 次的字符 A。

标志

g (global) 匹配多个匹配。

i (ignoreCase) 不区分大小写的匹配。应用于 A-Z 和 a-z 字符,但不能应用于扩展字符,如 é 和 é。

m (multilane) 设置此标志后, $ 和 ^ 可以分别匹配行的开头和结尾。

s (dotall) 设置此标志后, . (点)可以匹配换行符 (\n)。

x (extended) 允许扩展的正则表达式。您可以在正则表达式中键入空格,它将作为模式的一部分被忽略。这可使您更加清晰可读地键入正则表达式代码。

暂无回复

添加回复