19.1 引言

19.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'……为'start'、 'end'、'tokens'、'tokensExtents'、'match'、'names'之一,意义与前文相同。vl、v2……的输出顺序与ql、q2…… 一致。