MATALB正则表达式零基础起步教程.pdf

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

MATALB 正则表达式零基础起步教程 摘要:正则表达式是一个重要的编程概念。应用正则表达式可以实现很多强大的字符处理功 能,有时也可以为常规方法解决起来比较复杂的问题另辟蹊径。本文试图通过比较详尽的示 例为没有基础的读者介绍正则表达式的基本概念、用法及其在 Matlab 中的实现。文末附上 几个应用表达式解决实际问题的实例,以利于读者在自己的实践中应用。 关键词:正则表达式 Matlab regexp 1. 引言 正则表达式就是一个表达式(也是一串字符),它定义了某种字符串模式——利用正则表达 式,可以 对大段的文字进行复杂的查找、替换等。本文将以 Matlab 为编程语言,讲解正则表达式的 概念和使用方法, 并将在文末以实例说明正则表达式的实践应用。 Matlab 提供的正则表达式函数有三个: regexp——用于对字符串进行查找,大小写敏感; regexpi——用于对字符串进行查找,大小写不敏感; regexprep——用于对字符串进行查找并替换。 简要介绍一下这三个函数,以 regexpi 为例 —— 读者可以先跳过这里,看过全文之后 再来看这里。 用法 1: [start end extents match tokens names] = regexpi(str, expr) start 为匹配字符串的起始位置;end 为匹配字符串的终止位置;extents 为扩展内容,和 tokens指示符一起用,指示出现 tokens 的位置;match 即找到的匹配字串;tokens 匹 配正则表达式中标记 (tokens)的字串; names 为匹配到的命名标记的标记名。 - 1 - 用法 2: 若不需要所有的输出,可以用下面的方式有选择的输出。 [v1 v2 ...] = regexpi(str, expr, q1, q2, ...) q1、q2 为 start、end、tokens、tokensExtents、match、names 之一,意义与前文相同。v1、 v2 的输出顺序与 q1、q2 一致。 2. 单个字符的匹配 我们先从简单的开始 —— 以 regexpi 函数为例,不区分字符的大小写。假设你要搜索 cat,搜索用 的正则表达式就是 cat,这与文本编辑工具里常用的 CTRL+F 是一样的,即正则表达式 cat 匹配 cat、 Cat、cAt、CAt、caT、CaT、cAT、CAT。 为了方便,下面的叙述中字符串和正则表达式的都省略不写。 2.1 句点符号 . —— 匹配任意一个(只有一个)字符(包括空格)。 假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以 t 字母开 头,以 n 字母结束;另外,有一本英文字典,你可以用正则表达式搜索它的全部内容。 要构造出这个正则表达式,你可以使用一个通配符 —— 句点符号 . 。这样,完整 的表达式就是 t.n,它匹配 tan、ten、tin 和 ton,还匹配 t#n、tpn 甚至 t n,还有其 他许多无意义的组合。这是因为句点符号匹配所有字符,包括空格,即:正则表达式 t.n 匹 配 ten、tin、ton、t n、tpn、t#n、t@n 等。 Matlab 程序实例: clear;clc str=ten,8yn2tin6uiton, t n,-356tpn,$$$$t#n,4@).,t@nTnY; pat=t.n; o1=regexpi(str,pat,start) %用start指定输出 o1 为匹配正则表达式 - 2 - 的子串的起始位置 o2=regexpi(str,pat,end) %用end指定输出 o2 为匹配正则表达式的 子串的结束位置 o3=regexpi(str,pat,match) %用match指定输出 o3 为匹配正则表达式的 子串 [o11,o22,o33]=regexpi(str,pat,start,end,match) %同时输出起始位 置和字串 输出为: o22 =

文档评论(0)

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

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

1亿VIP精品文档

相关文档