Flash AS教程(五)正則表達(dá)式
Flash AS教程(五)正則表達(dá)式
不論在哪種語言中正則表達(dá)式都是不可避免的難題,可能你經(jīng)過了多次學(xué)習(xí)正則表達(dá)式的過程,但還是沒有真正掌握這種方法,本章將詳解
多個例子,幫助您了解AS中的正則表達(dá)式。
【溫馨提示:正則表達(dá)式可能非常復(fù)雜且具有許多細(xì)微差別,不同的編程環(huán)境實現(xiàn)正則表達(dá)式的方式也不同】
例如,下面的正則表達(dá)式與以字符A開頭并且后跟一個或多個連續(xù)數(shù)字的字符串匹配: /A\d+/
正則表達(dá)式基礎(chǔ)知識
正則表達(dá)式可能非常簡單。例如,假設(shè)您要確認(rèn)特定字符串與“ABC”是否匹配,或者要
使用某些其它文本替換字符串中出現(xiàn)的每個“ABC” 。在這種情況下,您可以使用以下正則
表達(dá)式,它定義了依次包含字母 A、 B 和 C 的模式:
/ABC/
請注意,正則表達(dá)式文本是使用正斜杠 (/) 界定的。
重要概念和術(shù)語
以下參考列表包含將會在本章中使用的重要術(shù)語:
■ 轉(zhuǎn)義字符 (Escape character):此字符指示應(yīng)將后面的字符視為元字符,而不是字面字
符。在正則表達(dá)式語法中,反斜杠字符 (\) 就是轉(zhuǎn)義字符,因此反斜杠后跟另一個字符是
一個特殊代碼,而不僅僅是字符本身。
■ 標(biāo)志 (Flag):此字符指定有關(guān)應(yīng)如何使用正則表達(dá)式模式的一些選項,如是否區(qū)分大寫
和小寫字符。
■ 元字符 (Metacharacter):在正則表達(dá)式模式中具有特殊含義的字符,它與從字面意義上
在模式中表示該字符相對。
■ 數(shù)量表示符 (Quantifier):一個或幾個字符,指示應(yīng)將模式部分重復(fù)多少次。例如,使
用數(shù)量表示符來指定美國郵政編碼應(yīng)包含 5 個或 9 個數(shù)字。
■ 正則表達(dá)式 (Regular expression):用于定義字符模式的程序語句,它可用來確認(rèn)其它字
符串是否與該模式匹配,或者替換字符串的一部分。
除了它的模式外,正則表達(dá)式還可以包含標(biāo)志,用于指定正則表達(dá)式的匹配方式。例如,下
面的正則表達(dá)式使用 i 標(biāo)志指定正則表達(dá)式在匹配字符串中忽略大小寫:
/ABC\d*/i
下面的`正則表達(dá)式定義了由字母 ABC 后跟任意數(shù)目的數(shù)字組成的模式 (注意星號) :
/ABC\d*/
創(chuàng)建正則表達(dá)式實例
有兩種方法可以創(chuàng)建正則表達(dá)式實例。一種方法是使用正斜杠字符 (/) 來界定正則表達(dá)式,
另一種是使用 new 構(gòu)造函數(shù)。例如,以下兩個正則表達(dá)式是等效的:
var pattern1:RegExp = /bob/i;
var pattern2:RegExp = new RegExp("bob", "i");
最簡單的正則表達(dá)式是與字符序列匹配的表達(dá)式,如以下示例中所示:
var pattern:RegExp = /hello/;
但是,下列字符 (稱為元字符)在正則表達(dá)式中具有特殊含義,學(xué)生范文網(wǎng),陽光百科,flash actionscript教程:
^ $ \ . * + ? ( ) [ ] { } |
例如,下面的正則表達(dá)式所匹配的是字母 A 后跟字母 B 的零個或多個實例 (星號元字符表
示重復(fù))再跟字母 C:
/AB*C/
要在正則表達(dá)式模式中包含元字符以使其不具有特殊含義,您必須使用反斜杠 (\) 轉(zhuǎn)義字
符。例如,下面的正則表達(dá)式與順序依次為字母 A、字母 B、星號和字母 C 的模式匹配:
var pattern:RegExp = /AB\*C/;
下表總結(jié)了可以在正則表達(dá)式中使用的元字符:
^ (尖號) 匹配字符串的開頭。
$ (美元符號) 匹配字符串的結(jié)尾。
\ (反斜杠) 對特殊字符的特殊元字符含義進(jìn)行轉(zhuǎn)義。
. (點) 匹配任意單個字符。
* (星號) 匹配前面重復(fù)零次或多次的項目。
+ (加號) 匹配前面重復(fù)一次或多次的項目。
? (問號) 匹配前面重復(fù)零次或一次的項目。
字符類中字符的范圍
使用連字符指定字符的范圍,例如 A-Z、a-z 或 0-9。這些字符必須在字符類中構(gòu)成有效的
范圍。例如,下面的字符類匹配 a-z 范圍內(nèi)的任何一個字符或任何數(shù)字novawrite.com:
/[a-z0-9]/
您還可以使用 \xnn ASCII 字符代碼通過 ASCII 值指定范圍。例如,下面的字符類匹配擴(kuò)
展 ASCII 字符集中的任意字符 (如 é 和 ê):
/[\x80-\x9A]/
【 Flash AS教程(五)正則表達(dá)式】相關(guān)文章:
6.Flash顯示編程-ActionScript從入門到精通教程(六)