matlab程式设计进阶篇通用运算式

matlab程式设计进阶篇通用运算式

ID:21085472

大小:446.00 KB

页数:38页

时间:2018-10-19

matlab程式设计进阶篇通用运算式_第1页
matlab程式设计进阶篇通用运算式_第2页
matlab程式设计进阶篇通用运算式_第3页
matlab程式设计进阶篇通用运算式_第4页
matlab程式设计进阶篇通用运算式_第5页
资源描述:

《matlab程式设计进阶篇通用运算式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MATLAB程式設計:進階篇 通用運算式張智星(RogerJang)jang@mirlab.orghttp://mirlab.org/jang台大資工系多媒體檢索實驗室基本介紹:UNIX淵源早期的電腦作業系統(例如UNIX系統)都是以文字為介面,因此對於文字的處理與運算也就有一套特別精心規劃的方式,其中最為人所津津樂道的產出,就是通用運算式(RegularExpressions)的制訂和其廣泛的應用。通用運算式最早出現在UNIX的文字編輯程式,例如ed、vi、emacs,也常被用在以UNIX為基礎的程式語言,

2、例如Perl等。近年來在Web上使用的JavaScript以及VBScript也加入了通用運算式的功能。基本介紹:通用性如果照字面來翻譯,RegularExpressions應該是翻成「正規運算式」,但我們採取的中文名稱是「通用運算式」或簡稱「通用式」,強調此方法能由「簡單的符號來代表複雜的字串」的特性在本章所學習到的通用運算式,幾乎可以原封不動地搬到其他程式語言來使用,例如JavaScript、C、Python、Perl、VBScript等等。MATLAB6.x的通用運算式並不支援中文,但在7.x已經可以完

3、全支援中文了!基本介紹:終極目標你已經在用通用式的概念了!看看你常用到的「萬用符號」(Wildcardscharacters):dir*.txtdirdata??.txt終極目標用簡單的符號來代表複雜的字串,以便進行特定字串的比對、抽取及代換使用regexp指令比對字串,可找出某一個特定型態的字串在另一個字串的出現位置。例如,如果要找出「love」在一個字串「Lovemetender,lovemesweet,neverletmego」出現的位置,可用下列程式碼:範例4-1:regExp01.m回傳結果為:st

4、artIndex=17代表「love」在string變數所出現的位置是17。基本用法:尋找字串開始位置string='Lovemetender,lovemesweet,neverletmego';pattern='love';startIndex=regexp(string,pattern)基本用法:大小寫均可若要進行「大小寫均可」(IgnoreCases)的比對,則可以使用regexpi指令:範例4-2:regExp02.m回傳結果為:startIndex=117代表「Love」和「love」在string

5、變數所出現的位置分別是1和17。string='Lovemetender,lovemesweet,neverletmego';pattern='love';startIndex=regexpi(string,pattern)基本用法:字串開始和結束位置若要找出字串出現的開始和結束位置,可以在使用regexp時,多加一個輸出變數:範例4-3:regExp03.m回傳結果為:start=62242finish=72343其中start和finish代表所比對到的三個「me」的開始和結束位置。string='Lov

6、emetender,lovemesweet,neverletmego';pattern='me';[start,finish]=regexp(string,pattern)方括弧:列舉欲比對字元我們可以使用方括弧([])來列舉所要比對的字元,可見下列範例:範例4-4:regExp10.mstring='Ibetthereisabatontheboat';pattern='b[aeiou]t';[start,finish]=regexp(string,pattern);fprintf('Matchedsubst

7、rings:');fori=1:length(start)%列印出比對結果fprintf('t%d:%s',i,string(start(i):finish(i)));end回傳結果為:Matchedsubstrings:1:bet2:bat方括弧:使用範圍符號若是連續字母或數字,就可以使用範圍符號「-」來簡化方括弧中的列舉字元。例如,數字0到9,可以寫成[0123456789],或是簡化寫成[0-9]。26個小寫英文字母可以簡化寫成[a-z]。26個大寫英文字母可以簡化寫成[A-Z]。英文字母:[

8、a-zA-Z]數字或英文字母:[0-9a-zA-Z]方括弧:數字範圍例如若要比對西元年份,可見下列範例:範例4-5:regExp11.mstring='Mybrotherandmewerebornin1965and1962,respectively.';pattern='[0-9][0-9][0-9][0-9]';[start,finish]=regexp(string,pattern);fprin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。