以前お世話になった者です。おかげさまで普段の扱いに困ることはなくなったのですが、正規表現が面白くなってきて
今まで個別に対応させていた事をまとめて整理したくなってきてしまいました。例えば

今日は犬が吠えています。猫も鳴いています。.txt
今日は犬が吠えています。鳥も鳴いています。.txt
今日は犬が吠えています。.txt

今まではこの3つをそれぞれ、まずは犬でチェック、次は猫でチェックとやっていたんですが、これをまとめて行い

犬猫 今日は犬が吠えています。猫も鳴いています。.txt
犬 今日は犬が吠えています。鳥も鳴いています。.txt
犬 今日は犬が吠えています。.txt
としたいのですが、どうすればいいでしょうか…

一応自分では s/(.*)(犬|猫)(.*)/\2 \1\2\3/g
ここまではきたんですが、これだと最初の奴で犬拾ってくれません。
位置を動かさず s/(犬|猫)/白い\1/g みたいなのは希望通り動くので
てっきりgで周回してくれると思ってたんですが…
お助けください