いくつかの HTML 編集に基づいて、VIM マスターからの助けが必要であると思いつきました。
単純なタスクを達成したくありません-URLが壊れたhtmlファイルがあります。
<a href="http://some/wrong/url with variable number of spaces">Just description</a> <a href="http://some/wrong/url with three spaces">Just description</a>
...
<a href="http://anoter/wrong/url with completely other number of spaces">Just description</a>
残念ながら、「1行に1つのURL」ではありません。
私は3つのアプローチを認識しています:
正規表現内でのみ置換できるようにしたいと思います
'"http://[^"]*"'
(一致する行のみを置換するのと同様ですが、今回は行全体ではなく、一致するパターンのみを含める必要があります)または、sed のようなラベルを使用します。このタスクは sed -e :a -e で実行できます。
's#\("http://[^" ]*\) \([^"]*"\)#\1_\2#g;ta'
また、次のようなものがあることも知っていますが
"\@<="
、私はネイティブスピーカーではなく、これに関するvimマニュアルは私の理解を超えています。
すべてのヘルプは大歓迎です。
可能であれば、3 つの問題すべての回答を知りたいのですが (これらは非常に興味深いものであり、他のタスクに役立つため)、どちらでも構いません。