0

私はこのような入力ファイルを持っています

    line 1
    line 2
    line 3

置き換えたいすべての行の前に4つのスペースがあります。

最終結果は次のようになります。

A[line 1
A[line 2
A[line 3

(面白いので、エディターは行ごとに表示したくない)

試しM-x replace-regex ^[]+ -> A\[ましたが、エラーが発生しますinvalid regex "Unmatched [ or [^"

試しM-x replace-regex ^[]+ -> A[ましたが、同じエラーが発生します。

の交換[は問題です。これを修正する方法は?

4

3 に答える 3

4

試す

M-x query-replace-regex RET ^    RET A[ RET
                             ^^^
                          notice the 4 spaces here

あなたの例では、キャラクタークラス内にスペースがありません:^[ ]+

おそらくもっときれいになるでしょう:^[[:space:]]+あらゆる種類の空白のために。

于 2012-10-16T15:11:58.203 に答える
1

長方形は、これらの問題に対処する別の方法を提供します。Cuaモードはさらに優れたシステムを提供します。これを使用するには、最初に.emacsに以下を追加します。

(setq cua-enable-cua-keys nil)
(cua-mode)

次に、*次の点をポイントします。

* ライン1
    2行目
    3行目

を押しC-enter、矢印キー(またはC-nおよびC-f)を使用してポイントを次の場所に移動します。

    ライン1
    2行目
   *3行目

空白はすべて強調表示されます。文字A[を挿入するために入力します。次にC-w、を押してスペースを削除します。

于 2012-10-16T17:31:09.347 に答える
1
M-x query-replace-regex RET ^ + RET A[ RET

置き換えるのは単一の種類の文字なので、角かっこやクラスは必要ありません

于 2012-10-16T18:34:32.807 に答える