MATLAB 中的动态正则表达式与逗号分隔列表
1. 动态正则表达式
动态正则表达式在 MATLAB 中是一种强大的工具,它可以帮助我们更灵活地处理文本匹配和替换。
1.1 空字符向量的处理
在正则表达式匹配中,有时会得到空字符向量。可以使用动态脚本 (?@if(~isempty($&))) 来忽略匹配结果中的空字符向量。以下是一个示例代码:
matches = {};
expr = ['(Euler\s)?(Cauchy\s)?(Boole)?(?@if(~isempty($&)),' ...
'matches{end+1}=$&;end)(?!)'];
regexp('Euler Cauchy Boole', expr);
matches
运行上述代码后, matches 变量将包含匹配到的非空结果:
matches =
1×6 cell array
{'Euler Cauchy Bo…'} {'Euler Cauchy '} {'Euler '} {'Cauchy Boole'} {'Cauchy '}
1.2 特殊运算符
在动态表达式中, $& (或等效的 $0 )、 $`` 和 $’ 是三个重要的运算符,它们分别表
超级会员免费看
订阅专栏 解锁全文
1398

被折叠的 条评论
为什么被折叠?



