MATLAB如何匹配正则表达式并替换?
1、regexprep函数的最简化用法是regexprep(原字符串,正则表达式,替换子串)
如图,批量替换文件后缀名为txt.

2、使用regexprep时,在替换的子串中可以使用替换操作符(以$开头)。
$N表示正则表达式中的第n个token。
如图,在正则表达式中'.'后面的是一个token,效果如图。

3、替换操作符(以$开头)还有:
$`表示匹配部分前面,$'(在正则表达式里要输入为$'')表示匹配符分后面。
效果如图。

4、替换操作符还可以是$0表示当前匹配,还可以是MATLAB表达式。
使用$0表示当前匹配子串,${upper(...)}执行函数upper。
如图,实现了对一个字符串中的单词进行首字母大写。

5、如果输入是一个字符串组成的元胞数组,则正则匹配和替换会分别作用于每个字符串,并输出等长的元胞数组。如图。

6、函数regexprep还可以有选项,如图,通过选项'preservecase',匹配时忽略大小写,但是替换时保留原来的大小写。效果如图。

7、通过选项'emptymatch',使得空匹配也可以被替换,如图用'^'匹配字符串开头之前,替换后相当于在字符串前面添加子串。
选项还有很多:
'once'表示只替换一个匹配,
一个数字N表示替换第N个匹配,
'warnings'表示显示警告信息,
'ignorecase'表示忽略大小写,
'dotexceptnewline'表示匹配'.'的时候不匹配换行符,
'lineanchors'表示把^和$匹配作一行的开头和结尾(默认是整个字符串),
'freespacing'表示忽略正则表达式中字面的空格和#.要匹配空格和#需要'\ '和'\#'

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:96
阅读量:82
阅读量:44
阅读量:133
阅读量:182