私はこれを perl/sed で解決するために非常に多くの方法を試し、否定的な先読みなどについてかなり読んでみましたが、それでも一致は機能しません。
次のような行があります:-
for (vector<some__header>::const_iterator header = some__header_->begin(); header != some__header_->end(); ++header)
と
for (vector<some__trailer>::const_iterator header = some__trailer_->begin(); header != some__trailer_->end(); ++header)
ある__
値に一致するテキストを他の__
値に置き換えたいが、ある値に一致するテキストは置換したくない___
したがって、最初の行でいくつかを他のものに置き換えると、次のようになります:-
for (vector<other__header>::const_iterator header = some__header_->begin(); header != some__header_->end(); ++header)
明らかに、(perlで)のようなもの:-
(some)__([a-zA-Z]*)(?!_)
some__headeにも一致するため、機能していません。
私が見逃している魔法の正規表現の部分は何ですか?