2017-03-10 16 views
0

ここにはregexprepを使用した行があります。

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

$1は何を意味していますか?

答えて

3

replacement string$1に提供されたregexprepは、正規表現で最初に一致したトークンを参照します。

だから我々は2つのトークンと一致する場合、たとえば、我々は最初のトークン

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

第二トークン

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

または両方のトークン

regexprep('abcdefgh', '(ab)(cd)', '$1$2') 
% abcdefgh 
のいずれかにマッチした文字列を置き換えることができます

あなたの例では、([^0-9])と一致する部分は、によって参照されるトークンです。あなたが投稿したコードは、文字列から(,を取り除き、それを,に置き換え、$1は残りの一致を同じに保ちます。

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

説明をありがとうございます! – Joseph

関連する問題