0

auto-pair のようなパッケージによく似た、ブラケット/括弧コンプリータ関数を作成しています。

alist組み合わせをlike:に保存しています("[" . "]")

(car (car my-alist))を正規表現として使用しようとすると(looking-back REGEXP)、これは機能しません"["。文字列ではなく、不完全な正規表現であると見なされるためです。

looking-back: Invalid regexp: "Unmatched [ or [^"

(car (car my-alist))「[」を正規表現として使用できる一方で、(つまり「[」)から文字列として挿入できるように、これをどのように使用すればよいですか?

"("これは特殊な正規表現文字ではないため、これは に対して機能することに注意してください。

4

2 に答える 2

1

あなたの質問に直接答えていません...

parenライブラリがどのように実装されているか、具体的には構文 tableの開き/閉じ括弧クラスを使用して実装されていることを確認することを検討する必要があります。

そうすることで、 s 式をナビゲートし、ネストされた一致するペアを適切に処理するすべての組み込み関数を活用できるようになります。

この組み込み機能を活用すると、コードが大幅に簡素化され、モードに依存せずに動作できるようになります (つまり、 と だけに制限されません[) ]

于 2013-02-07T22:11:47.230 に答える
1

使用できます(looking-back (regexp-quote (caar my-alist)))

regexp-quoteは、C ソース コードの組み込み関数です。

(regexp-quote STRING)

STRING に正確に一致し、それ以外には一致しない正規表現文字列を返します。

于 2013-02-07T22:01:55.187 に答える