で前方または後方の幅がゼロのアサーションを作成することは可能ですか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/
。