matlab正则表格达式(修正)(0001).doc

matlab正则表格达式(修正)(0001).doc

ID:52285400

大小:91.00 KB

页数:19页

时间:2020-03-26

matlab正则表格达式(修正)(0001).doc_第1页
matlab正则表格达式(修正)(0001).doc_第2页
matlab正则表格达式(修正)(0001).doc_第3页
matlab正则表格达式(修正)(0001).doc_第4页
matlab正则表格达式(修正)(0001).doc_第5页
资源描述:

《matlab正则表格达式(修正)(0001).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、子龙出品MATLAB正则表达式这是一个专题,一个小小的专题,但是就有19页,花费了我4天,整整4天才整理完成,大部分来源于网络,我进行了精心的排版,此为1.0版本,后续会写新的内容以作补充。这是个难得的内容希望有兴趣的人看看。FREEDOMINDEXmatlab里面的正则表达式3引言31.简要介绍一下这三个函数,以regexpi为例3用法1:3用法2:32单个字符的匹配42.1句点符号42.2方括号符号52.3方括号中的连接符62.4特殊字符63.字符串的匹配83.1多次匹配83.2逻辑运算符103.3左顾右盼——

2、利用上下文匹配114.标记(tokens)124.1什么是标记(tokens)134.2如何使用标记?135.多行字符串与多正则表达式155.1多字符串与单个正则表达式匹配155.2多个字符串与多个正则表达式匹配165.3多字符串的替换176.部分应用实例17问题1:查找包含某个字串的串。例如:17问题2:如何将Matlab中的^转换成C语言?18问题3:删掉<和/>和它们之间的部分18问题4:游程平滑算法:18matlab里面的正则表达式Editedby子龙引言则表达式就是一个表达式(也是一串字符),它定义了某种

3、字符串模式——利用正则表达式,可以对大段的文字进行复杂的查找、替换等。本文将以Matlab为编程语言,讲解正则表达式的概念和使用方法,并将在文末以实例说明正则表达式的实践应用。Matlab提供的正则表达式函数有三个:regexp——用于对字符串进行查找,大小写敏感;regexpi——用于对字符串进行查找,大小写不敏感;regexprep——用于对字符串进行查找并替换。1.简要介绍一下这三个函数,以regexpi为例——读者可以先跳过这里,看过全文之后再来看这里。用法1:[startendextentsmatchto

4、kensnames]=regexpi('str','expr')start为匹配字符串的起始位置;end为匹配字符串的终止位置;extents为扩展内容,和'tokens'指示符一起用,指示出现tokens的位置;match即找到的匹配字串;tokens匹配正则表达式中标记(tokens)的字串;names为匹配到的命名标记的标记名。用法2:若不需要所有的输出,可以用下面的方式有选择的输出。[v1v2...]=regexpi('str','expr','q1','q2',...)'q1'、'q2'......为's

5、tart'、'end'、'tokens'、'tokensExtents'、'match'、'names'之一,意义与前文相同。v1、v2......的输出顺序与q1、q2......一致。2单个字符的匹配我们先从简单的开始——以regexpi函数为例,不区分字符的大小写。假设你要搜索'cat',搜索用的正则表达式就是'cat',这与文本编辑工具里常用的CTRL+F是一样的,即正则表达式'cat'匹配'cat'、'Cat'、'cAt'、'CAt'、'caT'、'CaT'、'cAT'、'CAT'。为了方便,下面的叙述中

6、字符串和正则表达式的''都省略不写。2.1句点符号.——匹配任意一个(只有一个)字符(包括空格)。假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以't'字母开头,以'n'字母结束;另外,有一本英文字典,你可以用正则表达式搜索它的全部内容。要构造出这个正则表达式,你可以使用一个通配符——句点符号'.'。这样,完整的表达式就是t.n,它匹配tan、ten、tin和ton,还匹配t#n、tpn甚至tn,还有其他许多无意义的组合。这是因为句点符号匹配所有字符,包括空格,即:正则表达式t.n匹配ten、ti

7、n、ton、tn、tpn、t#n、t@n等。Matlab程序实例:clear;clcstr='ten,&8yn2tin6ui>&ton,tn,-356tpn,$$$$t#n,4@).,t@nT&nY';pat='t.n';o1=regexpi(str,pat,'start')%用'start'指定输出o1为匹配正则表达式的子串的起始位置o2=regexpi(str,pat,'end')%用'end'指定输出o2为匹配正则表达式的子串的结束位置o3=regexpi(str,pat,'match')%用'match'指

8、定输出o3为匹配正则表达式的子串[o11,o22,o33]=regexpi(str,pat,'start','end','match')%同时输出起始位置和字串输出为:o22=38131823283336o33='ten''tin''ton''tn''tpn''t#n''t@n''T&n'o1=110182331394851o2=31220253341505

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

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

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