置換の話です。そういうものなんですね、というところです。 話を単純化していますので、正規表現(VWX)を使った場合、とお考えください。 以下、半角スペースとタブを使っています。 abc ;置換前、スペース4つ abc ;置換後、スペース3つ こんな置換をしたい場合、どうしますか? \x ^ abc ;スペース4つ abc ;スペース3つ すこし抽象化すると、こう。 \x ^ a a 'a'というキーがあるから可能。[^ ]でさらに抽象化。 しかし、 ;置換前、スペース4つ ;置換後、スペース3つ ならどうしますか? どうするんだろう? 僕は、「検索文字列」で \x ^ ;スペース1つ \x ^ + ;スペース1つ以上 ★同じ意味になるからね。 の区別ができるのだろうと思っていたのです。Vz + VWX ではダメですよね。 \x ^ [^ ]$ ;ダメです。否定が1文字くってヒットしません。 ;これ、ちょっと脱線してるけど。 うーん、そういうものなんだ。 そういうものだよ、と確認していただいたり、こうすれば? とかあったら お教えください。チガウ! も大歓迎です。 sedだと、s/srch str/repl str/1,2,3,g とかフラグがあるので(使わなくても) 直観のそのままでいくのですが。 あああああ ;置換前 ああああ ;置換後 の置換は、s/^あ// でふつうにできます。 別に「変だ!」と考えているわけではありませんが、(しつこいけど)sed的に 発想すると、Vz+VWX の世界では、 s/^あ// で "\x ^あ" "" で あああああ が ああああ でなく 空行になってしまう、ということです。けっこうすごいですよね。 けっこう落とし穴じゃないかな、と。 僕、なんか間違ってますかね? きっと、スクリーンエディタだと、一般に、こういうものなんでしょう??? まとめると、正規表現というものは徹底的に行志向で、スクリーンエディタの 文字志向と共存させるときには、ユーザはそれなりの注意を要する、ということ なのでしょう、、、か。
関連記事一覧ツリー (▼ を押すとツリー全体を一括表示します)
返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
- 以下のフォームから自分の投稿記事を修正・削除することができます -