正規表現_GREP置換

 

 

> ■この文字列を含まず、この文字列は含めた行を抽出したい!

・ヒットする

abcdeabcde含めたい文字列abcde

・ヒットしない

abcde含めたくない文字列abcde含めたい文字列abcde

 

 

 

正規表現で表すと

^(?!.*①)(.*)(②)(.*)$

 


①含めたくない文字列

②含めたい文字列

 

 

置換するときは、

$1置換したい文字列$3

とする。

理由がわからないが、正規表現を含まない文字列は、()でくくっても変数$xのインデクスには加わらないようだ。

 

だから、抽出時の正規表現は次でよかった。

^(?!.*①)(.*)(②)(.*)$ → ^(?!.*①)(.*)②(.*)$