正規表現を使用して、文字列を複数行に現れる文字「x」に置き換えたいと思います。
問題は、たとえば、次を含むファイルでxを単語の後に整数が続くxに置き換えることです。
x44name
xjanname
x50name
たとえば、
:1,2s/x[0-9]name/num/g
単語を検索して置換するには、sedまたは他のコマンドを使用する必要がありますか?
次のエラーが発生します。
E486: Pattern not found: x[0-9]name
ベストアンサー1
0 を含め、必要な数の数字を持つことができる場合は、次の操作を行う必要があります。
:%s/x[0-9]*name/num/g
いつも二人なら
:%s/x[0-9][0-9]name/num/g
もちろん、[0-9]の代わりに\ dを使用することもできます。
:%s/x\d*name/num/g
%s
完全なファイル検索を示します。s
現在行のみが検索されることを示します。g
与えられた行のすべての一致エントリを表します。- gがない場合は、各行の最初の項目のみを置き換えることを意味します。