通常、sedを呼び出すときは\1
、サブマッチ番号1を参照するために呼び出すことができます。
<something> | sed "s/<regex>\(<regex>\)<regex>/\1/"
これにより、中央の正規表現が取得され、外側の正規表現が削除されます。
しかし、9試合以上ある場合はどうしますか?単に書く\10
ことは、として解釈されるため、機能しませんtake submatch number one and add a zero behind it
。
SEDについてはよくわかりませんが、多くの言語(javascript、ruby)では、サブマッチング(またはバックリファレンスと呼ばれることもあります)を許可する正規表現の実装があり\1
、\9
. \10
は単に許可されていません。
追加の後方参照には、より洗練されたパーサーを使用する必要があります。