1. ホーム
  2. regex

[解決済み] GNU sed の lookahead 正規表現がおかしいのですが?

2022-02-18 23:41:28

質問

こんな感じです(簡略化した例)。

gsed -i -E 's/^(?!foo)(.*)$/bar\1/' file.txt

を置こうとしているのですが bar で始まっていないすべての行の前に foo . これがエラーになります。

gsed: -e expression #1, char 22: Invalid preceding regular expression

どうしたんですか?

解決方法は?

私の知る限りでは sed には、先読みも後見もありません。似たような構文を持つ、より強力な言語、例えば perl .