"正則表達式"在程序開發中扮演著非常重要的角色。隨著ActionScript3開始支持正則表達式,越來越多的(之前沒有接觸過正則表達式開發的)Flash程序員開始感到棘手。我個人認為,正則表達式的確不是一個簡單的概念。要想掌握正則表達式,光看文字教程是不夠的。當然,指望有一個"高手"手把手的給你比劃,恐怕也很少有人有這樣的條件。這里我推薦我在學習正則表達式過程中所用到的兩個輔助資源,我認為比許多文字教程要易懂得多:
Visibone的正則表達式圖表
Visibone上有很多以圖形表示的技術概念,其中以正則表達式的圖形表現最受歡迎(地址)。它讓人容易理解的最大優勢就是每一個正則表達式都列舉了相應的范例,并以淺色背景標注,例如:

可以看到,右側的assert中都有對應的范例。注意,淺黃色背景表示assert的內容為true斷言;淺灰色為false斷言(看看淺色前面都有一個"!")。例如最后一排的: assert(!/to{1,2}t/.test("tooot"));表示在"t"和"t"之間o的字符重復次數不在1-2之間(3個); 而倒數第二排的: assert(/to{1,2}t/.test("toot"));則表示在"t"和"t"之間o的字符重復次數為1-2個(2個); 這里,assert表示"斷定",它并不是JavaScript或者ActionScript的指令,只是為了便于理解(assert在英文中為"斷言"的意思) 要特別感謝白云黃鶴的beta同學給我提供這個visibone的好資源:)
Firefox的RegularExpression插件,使用方法非常簡單。首先,在這里安裝該插件;然后,在Toot菜單中可以看到入口:

然后,按照我這張截圖來使用即可(寫的很明白了,不用具體解釋了吧?):

(作用是將我原來LBS的鏈接替換為新的鏈接格式) 其實,正則表達式還是很容易出錯的,因此這款Tester插件真的可以幫助我們省去很多調試的麻煩。(我想真正能不用tester寫出一些復雜的正則表達式,而不出一個差錯的人恐怕也不多)。
遺憾的是,我也沒有在大學課程中系統學習過正則表達式,文中如有疏漏,請不吝賜教。
新聞熱點
疑難解答