这是示例字符串"如何在MATLAB中进行FFT YouTube MATLAB 4分42秒2022年4月28日";。如何使用MATLAB正则表达式查找字符串中具有xx分yy秒的部分,并在此之前提取字符串?
到目前为止,我已经尝试过regexp(字符串,'[1234567890]','start'(,它运行得很好,直到matlab函数名中有一个数字。所以我想精确匹配分钟、秒部分,并在之前提取字符串
如果运行:
str = "How to Do FFT in MATLAB YouTube MATLAB 4 minutes, 42 seconds Apr 28, 2022";
result_cell = regexp( ...
str, ...
'(w*) [0-9]* minutes, [0-9]* sec', ...
'tokens')
out = result_cell{1}{1};
这是的结果
out =
'MATLAB'
正则表达式本身就是一门艺术。我上面使用的一些功能是:
- CCD_;文字字符
*
与前面的字符或组中的零个或多个匹配- CCD_ 3二者都对运算进行分组(像括号通常所做的那样(;令牌";概念,有点定义输出
[ ]
定义分组项目