19.2 单个字符的匹配
我们先从简单的开始一一以regexpi函数为例,不区分字符的大小写。假设要搜索'cat',搜索用的正则表达式就是'cat',这与文本编辑工具里常用的Ctrl+F组合键是一样的,即正则表达式'cat'匹配'cat'、'Cat'、'cAt'、 'CAt'、'caT'、'CaT'、'cAT'、'CAT'。为了方便,在下面的叙述中, 字符串和正则表达式的"都省略不写。
19.2.1 句点符号
.一一匹配任意一个(只有一个)字符(包括空格)。
假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以't'字母开头,以'n'字母结束;另外,有一本英文字典,可以用正则表达式搜索它的全部内容。要构造出这个正则表达式,可以使用一个通配符一一句点符号‘.’。这样,完整的表达式就是t.n,它匹配tan、ten、tin和ton,还匹配t#n、tpn甚至t n,还有其他许多无意义的组合。这是因为句点符号匹配所有字符,包括空格,即正则表达式t.n匹配ten、tin、ton、tn、tpn、阱n、t@n等。
MATLAB程序实例:


19.2.2 方括号符号
[oum] 一一匹配方括号中的任意一个。
为了解决句点符号匹配范围过于广泛这一问题,可以在方括号([])里面指定看来有意义的字符。此时,只有方括号里面指定的字符才参与匹配。也就是说,正则表达式t[aeio]n只匹配tan、Ten、tin和toN等,不匹配Tmn、taen,因为在方括号之内只能匹配单个字符。
MATLAB程序实例:

19.2.3 方括号中的连接符
'[c1-c2]'一一匹配从字符c1开始到字符c2结束的字母序列(按字母表中的顺序)中的任意一个。例如[a-c]匹配a、b、c、A、B、C,即正则表达式t[a-z]n匹配tan、tbn、tcn,tdn、ten、……、txn、tyn、tzn 。
MATLAB程序实例:

19.2.4 特殊字符
\.等一一即由'\'引导的,代表特殊意义或不能直接输入的单个字符。
在使用fprintf函数输出时,常用'\n'来代替回车符,这里也是同样的道理,用\n在正则表达式中表示回车符。类似的还有\t 表示横向制表符、'\*'表示'*'等。后一种情况用于查询在正则表达式中有语法作用的字符,详见下文。
下面是一些匹配单个字符的转义字符正则表达式及所匹配的值。

19.2.5 类表达式
\w、\s和\d等一一匹配某一类字符中的一个。
和上面的\n等转义字符有所不同,\w、\s、\d等匹配的不是某个特定的字符,而是某一类字符。具体说明如下:

