带有$符号的MatLab Regexprep语法

时间:2017-03-10 23:21:49

标签: matlab

以下是使用regexprep的行。

line = regexprep(line,'(,([^0-9])',' , $1');

$1语法是什么意思?

1 个答案:

答案 0 :(得分:3)

提供给$1的{​​{3}}中的regexprep引用正则表达式中第一个匹配的标记。

例如,如果我们匹配两个令牌,我们可以用第一个令牌替换匹配的字符串

regexprep('abcdefgh', '(ab)(cd)', '$1')
% abefgh

第二个标记

regexprep('abcdefgh', '(ab)(cd)', '$2')
%   cdefgh

或两个令牌

regexprep('abcdefgh', '(ab)(cd)', '$1$2')
%   abcdefgh

在您的示例中,([^0-9])匹配的部分是$1引用的标记。您发布的代码会从字符串中删除(,并将其替换为,,而$1会使匹配的其余部分保持不变。

line = 'abcd(,abcd';
regexprep(line,'(,([^0-9])',' , $1')
%   abcd , abcd