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 为匹配到的命名标记的标记名。 用法 2: 若不需要所有的输出,可以用下面的方式有选择的输出。 [v1 v2 ...] = regexpi('str', 'expr', 'q1', 'q2', ...) 'q1'、'q2' ...... v2...... 2. 我们先从简单的开始 的正则表达式就是 'Cat'、'cAt'、'CAt'、'caT'、'CaT'、'cAT'、'CAT'。 为了方便,下面的叙述中字符串和正则表达式的''都省略不写。 2.1 . 假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以 Matlab 程序实例: clear;clc str='ten,&8yn2tin6ui>&ton, t n,-356tpn,$$$$t#n,4@).,t@nT&nY'; pat='t.n'; o1=regexpi(str,pat,'start') o2=regexpi(str,pat,'end') o3=regexpi(str,pat,'match') [o11,o22,o33]=regexpi(str,pat,'start','end','match') 输出为: o22 = o33 = |