Actionscript 3 0具有正規表示式

2021-05-23 22:07:19 字數 2244 閱讀 9610

正規表示式由一些普通字元和一些元字元(metacharacters)組成。普通字元包括大小寫的字母和數字,而元字元則具有特殊的含義,我們下面會給予解釋。

在最簡單的情況下,乙個正規表示式看上去就是乙個普通的查詢串。例如,正規表示式"testing"中沒有包含任何元字元,它可以匹配"testing"和"123testing"等字串,但是不能匹配"testing"。

要想真正的用好正規表示式,正確的理解元字元是最重要的事情。下表列出了所有的元字元和對它們的乙個簡短的描述。

元字元

描述.點

匹配任何單個字元。例如正規表示式r.t匹配這些字串:rat、rut、r t,但是不匹配root。

$匹配行結束符。例如正規表示式weasel$ 能夠匹配字串"he's a weasel"的末尾   但是不能匹配字串"they are a bunch of weasels."

^匹配一行的開始。例如正規表示式^when in能夠匹配字串"when in the course of human events"的開始,但是不能匹配"what and when in the"

*匹配0或多個正好在它之前的那個字元。例如正規表示式.*意味著能夠匹配任意數量的任何字元。

/ 這是引用符,用來將這裡列出的這些元字元當作普通的字元來進行匹配。例如正規表示式/$被用來匹配美元符號,而不是行尾,類似的,正規表示式/.用來匹配點字元,而不是任何字元的萬用字元。

[ ]   [c1-c2]   [^c1-c2]

匹配括號中的任何乙個字元。例如正規表示式r[aou]t匹配rat、rot和rut,但是不匹配ret。可以在括號中使用連字元-來指定字元的區間,例如正規表示式[0-9]可以匹配任何數字字元;還可以制定多個區間,例如正規表示式[a-za-z]可以匹配任何大小寫字母。另乙個重要的用法是「排除」,要想匹配除了指定區間之外的字元——也就是所謂的補集——在左邊的括號和第乙個字元之間使用^字元,例如正規表示式[^269a-z] 將匹配除了2、6、9和所有大寫字母之外的任何字元。

/< />

匹配詞(word)的開始(/<)和結束(/>)。例如正規表示式/能夠匹配字串"for the wise"中的"the",但是不能匹配字串"otherwise"中的"the"。注意:這個元字元不是所有的軟體都支援的。

/( /)

將 /( 和 /) 之間的表示式定義為「組」(group),並且將匹配這個表示式的字元儲存到乙個臨時區域(乙個正規表示式中最多可以儲存9個),它們可以用 /1 到/9 的符號來引用。

|將兩個匹配條件進行邏輯「或」(or)運算。例如正規表示式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:這個元字元不是所有的軟體都支援的。

+匹配1或多個正好在它之前的那個字元。例如正規表示式9+匹配9、99、999等。注意:這個元字元不是所有的軟體都支援的。

?匹配0或1個正好在它之前的那個字元。注意:這個元字元不是所有的軟體都支援的。

/   /

匹配指定數目的字元,這些字元是在它之前的表示式定義的。例如正規表示式a[0-9]/ 能夠匹配字元"a"後面跟著正好3個數字字元的串,例如a123、a348等,但是不匹配a1234。而正規表示式[0-9]/ 匹配連續的任意4個、5個或者6個數字字元。注意:這個元字元不是所有的軟體都支援的。

最簡單的元字元是點,它能夠匹配任何單個字元(注意不包括換行符)。假定有個檔案test.txt包含以下幾行內容:

he is a rat

he is in a rut

the food is rotten

i like root beer

我們可以使用grep命令來測試我們的正規表示式,grep命令使用正規表示式去嘗試匹配指定檔案的每一行,並將至少有一處匹配表示式的所有行顯示出來。命令

grep r.t test.txt

在test.txt檔案中的每一行中搜尋正規表示式r.t,並列印輸出匹配的行。正規表示式r.t匹配乙個r接著任何乙個字元再接著乙個t。所以它將匹配檔案中的rat和rut,而不能匹配rotten中的rot,因為正規表示式是大小寫敏感的。要想同時匹配大寫和小寫字母,應該使用字元區間元字元(方括號)。正規表示式[rr]能夠同時匹配r和r。所以,要想匹配乙個大寫或者小寫的r接著任何乙個字元再接著乙個t就要使用這個表示式:[rr].t。

要想匹配行首的字元要使用抑揚字元(^)——又是也被叫做插入符。例如,想找到text.txt中行首"he"打頭的行,你可能會先用簡單表示式he,但是這會匹配第三行的the,所以要使用正規表示式^he,它只匹配在行首出現的h。

ActionScript 3 0工廠模式例項

研究了一段時間工廠模式,順便把書裡面的例子敲一下,大概效果就是這樣。示例效果 說明 運用了兩個工廠模式,乙個是簡單工廠 shipcreator.as 建立飛行器,乙個是工廠方法 weapon.as 建立 子彈。飛機裝載的 過於耦合,如果要開發成小遊戲,還要改善。用這個例子說明工廠方法實在適合不過,飛...

ActionScript 3 0 事件機制小結

這次先把actionscript 3.0 事件機制總結一下先吧,這裡只說一下自定義類傳送事件的3中方式,因為在設計模式中是比較常用的。例如mvc。關於自定義事件,主要由於兩個類 事件類 event 事件傳送類 eventdispatcher 我們討論的自定義傳送事件,就是如何使物件能夠傳送事件。方式...

actionscript 3 0 理解冒泡事件

關於冒泡事件的理解,主要有3個階段 1.捕獲階段,eventphase的屬性值1 2.目標階段,eventphase的屬性值2 3.冒泡階段,eventphase的屬性值3 以上為黑羽所著的 actionscript3殿堂之路 中描述為。讓我們來看下面的例子 比如點選以上倒數第3個容器,事件流過程如...