- (*)Simple RE for 'or':
Regular Expression X*(Y|Z)*(X|Y) 無法描述下列哪一個字串?
- XYXZY
- XYZZY
- XZYYX
- XZYZY
Answer: (a)
- (*)Meanings of regular expressions:
Please use your own words to explain the meanings of the following regular expressions.
- 'b..r'
- 's[aeiou]t'
- '[^\^]'
- 'b[aeiou]{2,3}t'
- '(\d{4}-){3}\d{4}'
- '(Chapter|Section) [1-9]\d{0,1}'
- 請使用通用運算式,將下句改成過去式。
He is a good boss who takes care of his employees.
- 請使用單一通用運算式,將下句中的所有「sleep tight」改成「work hard」,並保持單複數及時式之一致。
I sleep tight, he sleeps tight, we are all sleeping tight.
- 底下是一個檢查 email 格式的通用表示法
^[\w-]+(\.[\w-]+)*@[a-zA-Z-_]+(\.[a-zA-Z-_]+)+$
請問以下哪個選項不符合此表示法?
- abc.123@gmail.com
- abc_123@gmail.com
- abc#123@gmail.com
- abc..123aha@gmail.com
- 底下是一個檢查 email 格式的通用表示法
^\w((\.)?\w)*@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z]+$
請問以下哪個選項不符合此表示法?
- gogog_ohaha@livemail.tw
- gog.ogoh+aha@livemail.tw
- gogogohaha@liv.em-ail.tw
- gogogoh__aha@livemail.tw
- 請寫一個 MATLAB 程式 extractHttp.m,讀入 regExp.htm 檔案(位於本書所附光碟),並由此程式印出每一列包含「http=」的內文。
- 請寫一個 MATLAB 函數 isFunction.m,其輸入是一個 M 檔案的檔案名稱(可以包含絕對或相對路徑),若此 M 檔案是一個函數,則 isFunction 的輸出為 1,否則輸出為 0。(在此習題中,假設我們可以根據 M 檔案的第一列來判斷此檔案是底稿或是函數:若是函數,第一列的第一個英文字是 function,否則就是底稿。)
- 請根據 linkExtract.m 寫一個新程式 linkExtract2.m,使其能夠由 regExp2.htm 正確地抓出三個正確的連結網址與連結文字。(請務必刪除不必要的空白與換列。)
- 請根據 linkExtract.m 寫一個新程式 linkExtract3.m,使其能夠由 regExp3.htm 正確地抓出三個正確的連結網址與連結文字。(請務必刪除不必要的空白與換列。)
- 請根據 linkExtract.m 寫一個新程式 linkExtract4.m,使其能夠由 regExp4.htm 正確地抓出三個正確的連結網址與連結文字。(請務必刪除不必要的空白與換列。)
- 請根據 linkExtract.m 寫一個新程式 linkExtract5.m,使其能夠由 regExp5.htm 正確地抓出三個正確的連結網址與連結文字。(請務必刪除不必要的空白與換列。)
- Modify webpages:
請寫一個程式 insertTarget.m,可以讀入 regExp.htm 後,在每個連結中加入「target=_blank」,以便使用者點選連結後,可以顯示在新的瀏覽視窗中。(請將修改後的網頁寫入檔案 regExpNew.htm。)
- Extract emails:
請寫一個函數 emailExtract.m,可以讀入一個 URL 網址,然後從此網址抽出所有的 email 帳號,並以字串異值陣列傳回。(提示:有關於讀取網頁之功能,請直接使用 MATLAB 提供的 urlread 指令。)請注意,你的程式碼必須滿足下列規範:
- 出現在 HTML 的註解內的 email,不須要抓出。(換句話說,你必須先刪除 HTML 的註解,然後再進行 email 抽取。HTML 註解是以「<!--」開始,以「-->」
結尾。)
- 除了註解外,請抓出所有的 email 帳號,無論它們是可連結或不可連結。
- 在回傳所有 email 帳號前,請先使用 unique 指令來進行唯一化及排序。
在繳交此作業時,請先以下列網址來測試你的程式的正確性:
Part 2
MATLAB程式設計:進階篇