什么是正则表达式?
正则表达式是一串用于定义某种模式的字符。在有些情况下(例如,在解析程序输入或处理文本块时),您通常会使用正则表达式在文本中搜索与该模式匹配的一组单词。
字符向量
'Joh?n\w*'
是一个正则表达式的示例。该字符串定义的模式以字母
Jo
开头,后面可跟,也可不跟字母
h
(由
'h?'
指示),然后跟有字母
n
,最后以任意数量的
单词字符
结尾(由
'\w*'
指示),此处的单词字符指字母、数字或下划字符。该模式与以下任意条目匹配:
Jon, John, Jonathan, Johnny
正则表达式提供了一种在大量文本中搜索特定字符子集的独特方式。正则表达式使您能够查找特定
模式
的字符,而不必像使用
strfind
等函数那样查找字符的完全匹配项。
例如,有多种表示公制速率的方式:
km/h
km/hr
km/hour
kilometers/hour
kilometers per hour
您可以通过发出五个单独的搜索命令在文本中查找以上任意词汇:
当然,为了提高效率,您也可以构建一个适用于所有这些搜索词汇的短语:
将此短语转换为正则表达式(本部分后面将会介绍),您将具有如下表达式:
现在仅使用一个命令来查找一个或多个词汇:
ans =
1×2 cell array
{'kilometers per hour'} {'km/h'}
有四个 MATLAB
®
函数支持使用正则表达式搜索和替换字符。前三个函数在接受的输入值和返回的输出值方面类似。有关详细信息,请点击函数参考页的链接。
调用前三个函数中的任何一个函数时,请在前两个输入参量中传递要解析的文本以及正则表达式。调用
regexprep
时,还需再传递一个额外的输入,该输入是一个表达式,用于指定替代的模式。
Run the command by entering it in the MATLAB Command Window.
Web browsers do not support MATLAB commands.