記事閲覧

− 野ざらし言 −

5221 スクリーンエディタの正規表現

文太 2022/12/27(Tue) 16:54
 置換の話です。そういうものなんですね、というところです。
 話を単純化していますので、正規表現(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 ^あ" ""	で

あああああ
が

ああああ
でなく

空行になってしまう、ということです。けっこうすごいですよね。

 けっこう落とし穴じゃないかな、と。
 僕、なんか間違ってますかね?
 きっと、スクリーンエディタだと、一般に、こういうものなんでしょう???

 まとめると、正規表現というものは徹底的に行志向で、スクリーンエディタの
文字志向と共存させるときには、ユーザはそれなりの注意を要する、ということ
なのでしょう、、、か。

関連記事一覧ツリー (▼ を押すとツリー全体を一括表示します)

- 5221.スクリーンエディタの正規表現 - 文太 22/12/27-16:54

返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

おなまえ :
Eメール :
タイトル :
メッセージ: 通常モード(推奨)  整形モード(非推奨)  preモード(空白再現)
※ プログラムコード等を含まない場合は,できるだけ通常モードをご利用ください。

参照先 :
暗証キー: (英数字で8文字以内) プレビューなし


- 以下のフォームから自分の投稿記事を修正・削除することができます -

処理 記事No. 暗証キー