-3

友達からメーリング リストを受け取りましたが、問題は、メールを完全な形式 (xxx@example.com) で入力した人もいれば、.com なしで xxx@xxx と入力した人もいることです。そして、私はそれを同じ形式に改善したいと考えています。viで編集したい場合、どうすれば改善できますか?

私のemaillist.txtに

foo@gmail
bar@hotmail.com
bas@gmail
qux@abc.com
mike@abc
john@email

私の試み:

xxx@xxx のようなパターンをキャッチするために、このような簡単な正規表現を使用しようとしました

:%s/\(\w*@\w*\)/\0.com/g
or
:%s/\(\w*@\w*[^.com]\)/\0.com/g

しかし問題は、この正規表現に xxx@example.com も含まれていることです

上記のコマンドを入力すると、結果は次のようになります

foo@gmail.com
bar@hotmail.com.com
bas@gmail.com
qux@abc.com.com
mike@abc.com
john@email.com

したがって、置換後の私の期待は次のようになります。

foo@gmail.com
bar@hotmail.com
bas@gmail.com
qux@abc.com
mike@abc.com
john@email.com

この状況で正規表現を使用するにはどうすればよいですか?

4

2 に答える 2