誰かがこの Emacs 正規表現の理由を説明できますか?
find_class \(\w+|([^)]+)\) \(\w+|([^)]+)\)
これらの行のいずれにも一致しませんか?
let _, scn, _ = find_class (obj :: cs) c in scn
aux (find_class (obj :: cs) scn) (cn :: desc)
let _, scn, ms = find_class c cs in
かなり単純に思えます: 引数が単一の単語または括弧で囲まれた任意の文字列として表示される関数の呼び出しを探しています。同等の式 ( find_class (\w+|\([^)]+\)) (\w+|\([^)]+\))
) を Ruby にプラグインすると、希望どおりに動作しますが、ここでは動作しません。何か不足していますか?
Emacs の正規表現は実際に使用するには非常に扱いにくいと感じており、エディターの選択を再考しています。これを改善する合理的な方法 (つまり、より簡潔な構文、より多くの文字クラス) がある場合、それを聞きたくてたまらないのですが、まだ何も見つけられていません。