首先我們要先了解,PDP++這個程式和AWK, SED, PERL這些工具,功能完全不同。PDP++這個程式是用來建立「類神經網路Neuro-network」用的,而AWK, SED, PERL這些是工具,電腦看不懂文字,我們得先經過一道手續,把文字轉成電腦看的懂的碼,電腦才能處理這些資料。舉例來說,AWK裡的sort、uniq等指令,是讓電腦幫我們在一行行的資料庫中取其中我們要的資料出來,以方便我們辨認文件。 

 

什麼是Regular Expression

Regular Expression 是什麼? 有人直譯為「常規表示式」; 筆者偏好意譯, 姑且叫它「字串樣版」。 它的功能是協助我們搜尋字串, 甚至對檔案內的特定字串做全面性的代換。 一般簡單的文字檔案編輯器 (例如 MS Windows 下的記事本, DOS 下的 edit 或是 Linux 下的 pico) 不支援 regular expression (以下簡稱 regexp), 所以我們在搜尋或代換字串時, 這些編輯器往往無法抓住我們的意思, 不是太寬鬆 (例如想找 port, 卻連 important 也找出來) 就是太嚴格 (例如想找 color, 卻遺漏了 colour)。 雖然大部分編輯器提供忽略大小寫等選項, 但所能解決的問題還是相當有限, 像上述兩個簡單的例子都沒有辦法解決。 如果改用 regexp, 則甚至可以處理諸如 "一份 html 檔裡面所有的 hyperlinks" 這類的複雜搜尋條件。

具體地說, 我們在想要搜尋的字串當中夾雜一些特殊符號, 指示電腦以較嚴格或較寬鬆的條件去搜尋, 這樣的字串就叫做 regexp。 例如要找 modem Modem, 我們可以用 [Mm]odem 這個 regexp 來表示。 這裡的方括弧就是 regexp 語法中的特殊符號之一, 代表裡面任何一個字元放在這一個位置都可以 (但總歸要是一個字元)。」~~取自洪朝貴老師的「一輩子受用的 Regular Expressions -- 兼談另類的電腦學習態度」

而每一種程式、工具,都會有它的R.E.(Regular Expression.)。每一種程式的Regular Expression也會有不同之處。在非Windows視窗下,Regular Expression是一個好選擇。但凡有關字串的處理,Regular Expression都應該可以幫上一把。而且,它除了歷史悠久(就是到現在還沒有被淘汰)外,只要是vi、PERL、Java、C等所到之處,它都能派上用場。這些Regular Expression都網路上都很容易搜尋到。像我們在這裡學的是SED,AWK,我們只要在搜尋引擎上打”SED Regualar Expression”,就可以搜尋到許多相關網頁。