2012-01-26 13 views
3

私は特定のマークアップタグを見つけるemacsのための簡単なモードを作成しています。必要なものの1つは、二重中括弧の間に脚注を記入することです。 {{このような}}正規表現"\\(\\{[^}]*\\}"を扱うことに問題があります。私は非常に近いと感じるが、正規表現は多くの問題を引き起こす。私はこのパターンが機能するために何が欠けていますか?Emacsの正規表現で二重中括弧をマッチさせますか?

答えて

1

このパターンは、二重の中括弧に包まれた一つ以上の文字に一致します。第一の開口ブレースは、通常の1 (たあなたのパターンでは

\{\{[^}]+\}\} 

を...

+0

ありがとうございました! –

+0

emacsに先読みがありますか?その場合、内部式は '[^}] +'ではなく、 '((?!\} \}))+' 'になります。 – Tomalak

+0

この答えは本当にEmacsで使えますか? Emacsの古い学校の正規表現でリテラルマッチが必要な場合、 '{'と '}'はエスケープしないでください。 @Tomalakここでゼロ幅アサーションを使用する利点は何ですか? –

4

あなたが話してみんな何ですか? \{..\}はEmacs regexpsの反復演算子なので、{と}と一致させたい場合はを入力してください。はエスケープしません。

など。私は"{{\\([^}]\\|}[^}]\\)*}}"のようなものを使っています。

関連する問題