sedに幅0のアサーションがありますか?

sedに幅0のアサーションがありますか?

で前方または後方の幅がゼロのアサーションを作成することは可能ですかsed?私はPerlとその家族を模倣したいと思います(?=)

私のsedはGNU sedバージョン4.0ではありません。

答え1

いいえ、ありません。あなたはただ基本正規表現、文字セット(および.[…]、反復(および*)、行アンカー(and)およびグループ化、および逆参照のみです。一部のsed実装には、より反復的な構文(and)、置換()、追加のアンカー(、、、、)があります。私が知る限り、普遍的なゼロ幅アサーションはなく、Perl(またはPCREをサポートする他のツール)を使用する必要があります。\{m,*n*\}^$\(…\)\N\+\?\|\b\B\<\>

幅0のアサーションのさまざまな使用は、逆参照を使用する一般正規表現でシミュレートできます。たとえば、Perlはs/foo(?=bar)/FOO/次のように書くことができますs/foo\(bar\)/FOO\1/

関連情報