《通用表示法 》PPT课件.ppt
《《通用表示法 》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《通用表示法 》PPT课件.ppt(45页珍藏版)》请在三一办公上搜索。
1、第十章通用表示法,張智星http:/mirlab.org/jang台大資工系 多媒體檢索實驗室,本章大綱,大綱本章介紹通用表示法,使用強大的字串比對方式,可以在進行 JavaScript 程式設計時,能夠有事半功倍的效果。主題10-1:資料驗證 10-2:資料修改 10-3:通用式相關列表 10-4:常用資料規則,2/45,10-1:資料驗證,本小節介紹通用表示法及其用法。,3/45,基本介紹,通用表示法或通用式(Regular expressions)是在 UNIX 中發展出的字串比對技巧。Regular expressions 應該翻成正規表示法或正規式,但是我們使用通用表示法或通用式似乎
2、更能適切地表達其功能。目標:用格式簡單、功能強大的符號來比對複雜的字串。許多軟體或指令都支援通用表示法。JavaScript 及 Vbscript:格式稍不同,但功能一樣Unix 指令:如 grep、sed、awk、ed、vi、emacs 等。MATLAB,Python,Perl,4/45,JavaScript 的通用式,通用式是一個內建的物件建構函數(Construction functoin)為 RegExp。用法說明pattern 是通用表示法的字串。flag 是比對的方式:g:全域比對(Global match)i:忽略大小寫(Ignore case)gi:全域比對並忽略大小寫,5/4
3、5,範例10-1(1),主題:簡易身分證字號驗證連結:regExpID01.htm(remote host,local host)程式碼重點說明re=/A-Zd9$/就是一個通用式。以re.test()比對字串string,回傳true代表比對正確,反之回傳false。,6/45,範例10-1(2),通用表示法解釋:/A-Zd9$/比對數個字元中的任一個字元,可用,並可用-來代表字母或是數字的範圍。A-Z 代表由 A 至 Z 的任一個英文字母。(亦可寫成ABCDEFGHIJKLMNOPQRSTUVWXYZ)a-zA-Z 代表不限大小寫的一個英文字母d 代表0 至 9 的數字。亦可寫成0-9或0
4、123456789 9 代表前一個字元的重複次數。d9 代表需要有九個數字。代表字串開始位置。$代表字串結束位置。若沒以上兩個符號,那麼只要任一個字串中間比對成功即可。,7/45,範例10-2,主題:簡易信用卡卡號驗證連結:regExpCreditCardNumber01.htm(remote host,local host)程式碼重點說明也可寫成:re=/(d4-)3d4$/重複的部分多於一個字母,必須將需要重複的部分放入小括號內,再由大括號包夾重複的次數。,8/45,範例10-3,主題:簡易英文名字驗證連結:regExpEnglishName01.htm(remote host,local
5、 host)程式碼重點說明A-Za-z-:一個英文字母(可以大寫或小寫),或字元-:已經有特殊意義,必須在-之前加上+:重複前一個字元一次或多次 A-Za-z-+:英文字或-形成的字串,且長度至少為1s:空白字元,可以是空格、定位鍵、換列字元,9/45,範例10-4,主題:簡易電子郵件格式驗證連結:regExpEmail01.htm(remote host,local host)程式碼重點說明.:比對任一個字元(不包含換列字元).+:長度不為零的字串.:.原先已具有特殊意義,必須加上反斜線.2,3:長度為 2到3個字元,10/45,範例10-5,主題:電子郵件格式驗證(可避開含有空白的電子郵件
6、帳號)連結:regExpEmail02.htm(remote host,local host)說明s:所有可能的空白字元,包含空白、定位鍵、換列字元等(不包含全形的空白):在中括弧內是代表否定注意:在一般通用表示法的意義是字串開始的位置,但放在中括弧內,則代表否定或非。s+:一個或多個非空白字元所形成的字串,11/45,範例10-5(2),主題:電子郵件格式驗證(可避開含有空白的電子郵件帳號)若要對電郵進行更嚴苛的比對,上述通用式可以改成其中 w 代表一個數字、字母或底線,全等於 a-zA-Z0-9_。(但這樣嚴苛的標準也可能錯誤地阻擋正常的電郵。),12/45,範例10-6,主題:通用式的完
7、整測試頁(列出比對到字串)連結:regExpTest01.htm(remote host,local host)程式碼重點說明使用了字串的 match()方法,對通用式進行比對。matched=str.match(regexp)可將比對到的字串送到一個陣列,以便後續列出比對結果。,13/45,10-2:資料修改,本小節介紹如何使用通用表示法來進行字串字串的修改。,14/45,通用表示法的字串方法,用途強化搜尋比對立即修改(修特別是改表單資料)方法,15/45,範例10-7,主題:搜尋並列出位置(判斷第一個符合的位置)連結:regExpSearch01.htm(remote host,local
8、 host)程式碼重點說明str.search(re)將會傳回符合 re 的第一個位置。(若沒找到則回傳-1)str.search(re)只能用來搜尋某個通用式在一個字串的第一次出現的位置。,16/45,範例10-8,主題:搜尋並列出位置(取出符合的所有子字串)連結:regExpMatch01.htm(remote host,local host)程式碼重點說明使用string.match(regexp)可回傳符合的所有子字串。傳回的 matched 變數是一個陣列,包含所比對到的字串。,17/45,範例10-9,主題:搜尋並代換連結:regExpReplace01.htm(remote ho
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通用表示法 通用表示法 PPT课件 通用 表示 PPT 课件
链接地址:https://www.31ppt.com/p-5611794.html