例
友達からメーリング リストを受け取りましたが、問題は、メールを完全な形式 (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
この状況で正規表現を使用するにはどうすればよいですか?