2015-08-08 70 views
0

我正在为我使用的markdown + latex组合语法突出显示。该文件的主要模式是减价,而我坚持的位是突出乳胶块内乳胶的特殊字符。正则表达式:在正则表达式区域内匹配多次(emacs)

如果我们把乳胶环境的情况下:

\begin{align*} 
    f(x) &= x^2 
    g(x) &= x^3 
\end{align*} 

我可以搭配简单的环境(没有emacs的转义)^\\begin{.*}(.|\n)*?\\end{.*}$

(我知道这不符合环境下工作在环境中,我知道必须使{.*}部分的开始和结束相同 - 我会很乐意接受关于这样做的最佳方式的建议)编辑:修正它,只需捕获开始标记,然后使用它在结束标记中。

我有兴趣突出乳胶在环境中的特殊字符(但不在外面):这些字符是$#^_{}&。如果有人能够指示我修改我的环境探测器以让一个或多个组包含这些字符,我将非常感激。 (我不确定这完全有可能)。

干杯!

回答

0

使用锚定的 font-lock关键字,锚定环境内某点的匹配。请参阅Elisp手册,节点Search-based Fontification。请参阅(MATCHER . ANCHORED-HIGHLIGHTER)(MATCHER HIGHLIGHTERS...)的说明。

(但请注意,正则表达式是没有强大到足以做那种匹配你想在这里做的,一般的,我想你已经知道这一点,根据你对嵌套等评论)

+0

谢谢,我确实设法通过大致这种方法来实现它 – Goobley