MATLAB程式設計入門篇通用運算式.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB程式設計入門篇通用運算式.ppt

MATLAB 程式設計 通用運算式 通用運算式的基本介紹 通用運算式(Regular Expressions)最早出現在 UNIX 的文字編輯程式,例如 ed、vi ,也常被用在以 UNIX 為基礎的程式語言,例如 Perl 等。近年來在 Web 上使用的 JavaScript / JScript 以及 VBScript 也加入了通用運算式的功能。 通用運算式的終極目標就是「用簡單的符號來代表複雜的字串,以便進行特定字串的比對、代換及抽取」。 使用 regexp 指令比對字串,可找出某一個特定型態的字串在另一個字串的出現位置。 例如,如果要找出「love」在一個字串「Love me tender, love me sweet, never let me go」出現的位置,可用下列程式碼: 範例: regExp01.m 回傳結果為: startIndex = 17 代表「love」在 string 變數所出現的位置是 17。 通用式的基本用法 string = Love me tender, love me sweet, never let me go; pattern = love; startIndex = regexp(string, pattern) 通用式的基本用法 若要進行「大小寫均可」(Ignore Cases)的比對,則可以使用 regexpi 指令 : 範例: regExp02.m 回傳結果為:startIndex = 1 17 代表「Love」和「love」在 string 變數所出現的位置分別是 1 和 17。 string = Love me tender, love me sweet, never let me go; pattern = love; startIndex = regexpi(string, pattern) 方括弧的使用 我們可以使用方括弧([])來列舉所要比對的字元,可見下列範例: 範例: regExp10.m string = I bet there is a bat on the boat; pattern = b[aeiou]t; [start, finish] = regexp(string, pattern); fprintf(Matched substrings:\n); for i=1:length(start) % 列印出比對結果 fprintf(\t%d: %s\n, i, string(start(i):finish(i))); end 回傳結果為:Matched substrings: 1: bet 2: bat 方括弧的使用 有關方括弧的使用,我們在下面做一個列表整理與說明: 通用式 說明及範例 比對不成立之字串 [13579] 包含 1 或 3 或 5 或 7 或 9 的字串,例如:a3b, 1xy y2k [0-9] 含數字之字串 不含數字之字串 [a-z0-9] 含數字或小寫字母之字串 不含數字及小寫字母之字串 [a-zA-Z0-9] 含數字或字母之字串 不含數字及字母之字串 b[aeiou]t bat, bet, bit, bot, but bxt, bzt [^0-9] 不含數字之字串 (若要比對 ^,請使用 \^) 含數字之字串 [^aeiouAEIOU] 不含母音之字串 (若要比對 ^,請使用 \^) 含母音之字串 [^\^] 不含 ^ 之字串,例如 xyz, abc xy^, a^bc 特定字元 有些通用式會常被用到,因此已被定義為特定字元,以簡化整體通用式,這些字元可列表說明如下: 通用式的特定字元 說明 等效的通用式 \d 數字 [0-9] \D 非數字 [^0-9] \w 數字、字母、底線 [a-zA-Z0-9_] \W 非 \w [^a-zA-Z0-9_] \s 空白字元 [ \r\t\n\f] \S 非空白字元 [^ \r\t\n\f] . 任一個字元,但不包含換行字元(\n) 無 特定字元 我們可以用「\d」來比對由 0 到 9 的數字,並用「\D」來比對非數字。假設我們要找出「兩個非數字夾一個數字」的子字串,可使用「\D\d\D」。 範例: regExp04.m string = Some terms: RU486, Y2K, 900GHz, B2B, B2C; pattern = \D\d\D; [start, finish] = regexp(string, pattern); fprintf(Matched substrings:\n); for i=1:leng

文档评论(0)

ailuojue + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档