MATLAB正则表达式简介

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第 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 平台 百度文库例,来介绍正则表达式:
第1章 regexp
下面以 regexp 为例,将正则表达式的内容分为以下几个部分,并结合 matlab 实例,对其逐个进行讲解:
元字符含义和使用(特殊字符、类字符) 多字符的匹配 在特定位置的匹配 根据上下文的匹配 逻辑判断 标记(token) 动态正则表达式 注释 多正则表达式和多字符串的匹配 regexp:在字符串 str 中根据正则表达式 expression 匹配符合的字符串,并将匹 配到的字符串以及字符串的开始、末尾位置输出;使用者也可以根据需要填写需要 输出的其他参数。
在 matlab 中有关正则表达式(regular expression)有 4 个函数: regexp:用于对字符串进行查找,大小写敏感; regexpi:用于对字符串进行查找,大小写不敏感; regexprep:用于对字符串进行查找并替换; regexptranslate:用于将字符串转化成正则表达式。(在此处不讲,用得不多)
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
序言
在计算机世界中,字符是重要的组成部分,而由字符所组成的字符串又会形成 大量的文本;此时若想查找或替换文本中特定模式的字符串,手动修改将会消耗大 量的人力且准确性不高;由此正则表达式便应运而生。所谓正则表达式,其实就是 一个可以灵活定义字符串模式的表达式;进而可以用相应的函数以正则表达式的模 式去匹配文本中的字符串。正则表达式的出现源于用户处理文本的需要,而且可以 看出,它的发展必然和用户处理文本的特殊需求分不开。
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,expres sion,’start’,’end’,’tokenextents’,’match’,’tokens’,’names’,’split’) 以下是 regexp 的输入参数的含义以及对应的输出参数,此处仅简单的说明。 具体的应用实例会单独给出,并在之后各种正则表达式的应用中给予逐个说明。 ‘start’:所匹配子字符串开始位置的索引,输出到 startindex。 ‘end’:所匹配子字符串结束位置的索引,输出到 endindex。 ‘tokenExtents’:标识(token)的开始和结束位置的索引,输出到 tokenindex。
相关文档
最新文档