GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Regexp-Problems.html ・ emacs-doc.conao3.com

35.3.5 正規表現の問題点

Emacsの正規表現実装は、同種の多くの実装と同様に概ね堅牢ですが、時折、次の2つのパターンのいずれかで問題が発生することがあります。マッチング時に内部スタック領域が不足してエラーがシグナルされる場合と、完了までに長い時間を要する場合です。以下のアドバイスに従うことで、こうした症状が発生する可能性を低くし、実際に問題が生じた際の軽減に役立ちます。

上記のアドバイスに従っても正規表現のスタックオーバーフローが発生する場合は、バックトラッキングをより容易に抑制できるシンプルな正規表現を用い、複数の関数呼び出しに分けてマッチング処理を行うことをためらわないでください。

関数: re--describe-compiled regexp &optional raw

正規表現や正規表現エンジン自体の問題の診断に役立てるため、この関数は regexp のコンパイル済み形式を説明する文字列を返します。その内容を理解するには、Emacs のソースコードにある src/regex-emacs.c ファイル内の re_opcode_t 型の説明を少なくとも読んでおく必要があるかもしれません。

現在、Emacsが--enable-checkingでコンパイルされている場合にのみ、意味のある説明が可能です。