MATLAB正则表达式简介

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MATLAB正则表达式简介郭晨 张洁 目录第1章 regexp......................................................................................................1 1.1 输入输出参数和格式.............................................................................1 1.2 单个字符的匹配.....................................................................................2 1.2.1 句点符号..........................................................................................2 1.2.2 方括号符号......................................................................................3 1.2.3 方括号中的连接符..........................................................................3 1.2.4 方括号中的取反符号(^)............................................................4 1.2.5 特殊字符..........................................................................................5 1.3 表示某一类字符.....................................................................................6 1.4 字符串的匹配.........................................................................................8 1.4.1 多字符的匹配..................................................................................8 1.5 在特定位置匹配正则表达式...............................................................10 1.5.1 ^expr和expr$...............................................................................10 1.5.2 \expr和expr\.............................................................................10 1.6 根据上下文判断是否匹配正则表达式...............................................11 1.6.1 根据下文的内容来匹配正则表达式............................................11 1.6.2 根据上文的内容匹配正则表达式................................................12 1.6.3 如果将(?=test)和(?!test)放在expr的前边...................................12 1.7 正则表达式的逻辑判断.......................................................................13 1.7.1 或(expr1|expr2)..............................................................................13 1.7.2 条件判断........................................................................................13 1.8 标记(tokens)....................................................................................13 1.8.1 数字标记........................................................................................14 1.8.2 命名标记........................................................................................15 1.8.3 不进行标记,只是组合的符号....................................................15 1.9 动态正则表达式...................................................................................17 1.9.1 动态正则表达式的形式:(??expr)..............................................18 1.9.2 (??@function)................................................................................18 1.9.3 (?@function)..................................................................................19 1.9.4 '$`','$'','$0'或'$&'在正则表达式中的应用.....................................20 1.10 正则表达式中加入注释.......................................................................23 1.11 多字符串和多正则表达式的匹配.......................................................24 1.11.1 多个字符串和单个正则表达式的匹配.................................24 1.11.2 多个字符串和多个正则表达式的匹配.................................25 第2章 regexpi...................................................................................................27 2.1 regexpi与regexp的不同为是否区分大小写.....................................27 2.2 结合程序实例介绍regexpi中的输入参数的功能.............................27 2.2.1 输入参数中的start、end、match(不介绍了)........................28 2.2.2 输入参数:'tokenextents'、'tokens'、'names'..............................28 2.2.3 输入参数:'split'...........................................................................29 2.2.4 regexpi搜索时的选项...................................................................29 第3章 regexprep...............................................................................................31 第4章 附录.......................................................................................................34 序言在计算机世界中,字符是重要的组成部分,而由字符所组成的字符串又会形成大量的文本;此时若想查找或替换文本中特定模式的字符串,手动修改将会消耗大量的人力且准确性不高;由此正则表达式便应运而生。所谓正则表达式,其实就是一个可以灵活定义字符串模式的表达式;进而可以用相应的函数以正则表达式的模式去匹配文本中的字符串。正则表达式的出现源于用户处理文本的需要,而且可以看出,它的发展必然和用户处理文本的特殊需求分不开。正则表达式在日常生活中随处可见,只是大家并不关注。如搜索引擎中用通配符代表任意字符、在注册网站中所输入的用户名密码都需要特殊的格式和大小、office中的查找和替换等都基于正则表达式。由于其十分强大,因此,在很多程序语言中都有与正则表达式相关的内容。虽然,在不同语言中,其细节有所差别,但总体思想是一样的。以下以Matlab平台为例,来介绍正则表达式:在matlab中有关正则表达式(regularexpression)有4个函数:regexp:用于对字符串进行查找,大小写敏感;regexpi:用于对字符串进行查找,大小写不敏感;regexprep:用于对字符串进行查找并替换;regexptranslate:用于将字符串转化成正则表达式。(在此处不讲,用得不多)1第1章regexp下面以regexp为例,将正则表达式的内容分为以下几个部分,并结合matlab实例,对其逐个进行讲解:元字符含义和使用(特殊字符、类字符)多字符的匹配在特定位置的匹配根据上下文的匹配逻辑判断标记(token)动态正则表达式注释多正则表达式和多字符串的匹配regexp:在字符串str中根据正则表达式expression匹配符合的字符串,并将匹配到的字符串以及字符串的开始、末尾位置输出;使用者也可以根据需要填写需要输出的其他参数。1.1输入输出参数和格式 [startindex,endindex,out1,…outN]=regexp(str,expression,outkey1,…outkeyN)函数输入中,str为字符串,expression为正则表达式的形式;outkey1到outkeyN,为用户可根据需要输入的其他参数。函数输出中,startindex为所匹配的子字符串的起始位置,endindex为所匹配的子字符串的结束位置。out1到outN是用户自己需要输出的参数,和输入中的outkey1到outkeyN一一对应。例如:[startindex,endindex,tokenindex,expmatch,tok,tokname,nomatch]=regexp(str,expression,’start’,’end’,’tokenextents’,’match’,’tokens’,’

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功