正则表达式来删除所有\ {开始收集} \ {结束}聚集

问题描述:

我有一个6200百页预订简单的东西,如:正则表达式来删除所有 {开始收集} {结束}聚集

\begin{gather} 
    A>B,A=B,A<B,A\leq B,A \geq B 
\end{gather} 

或更多的复杂化:

\begin{gather} 
    \begin{aligned} 
    (a+b)^0&=1\\ 
    (a+b)^1&=1a+1b\\ 
    (a+b)^2&=1a^2+2ab+1b^2\\ 
    (a+b)^3&=1a^3+3a^2b+3ab^2+1b^3\\ 
    \end{aligned} 
\end{gather} 

我试图找到RegEx删除所有\ begin {gather} \ end {gather}环境(它是LaTeX)。我已经通过试验和错误找到的最好的是:

(\\begin\{gather\}*\r?\n?.*)*\r?\n?.*(\r?\n?.*\\end\{gather\}) 

但它不工作: - (((

任何帮助将提前欣赏

THX

+1

尝试'(?S)\\开始\ {}聚集。*?\\结束\ {收集}' –

+0

都能跟得上!至少在Notepad ++ 7.4.1中,我使用它似乎不起作用...: - (( –

+0

你是什么意思,“它似乎不工作”?你究竟在做什么?你需要实际转义'}' :'(?s)\\ begin \ {gather \}。*?\ end \ {gather \}'(这是我在顶端评论中遗漏的Boost正则表达式细节) - 它将匹配有问题的块。然后,只需要替换一个空的空间,对吧? –

。这工作在记事本+ +:

(?s)\\begin\{gather\}.*?\\end\{gather\} 

请确保您设置选项(。matches newline)

下面是使用ungreedy选项“。*?”和“(?s)”修饰符:单行的Regex101示例。点匹配换行符。

example

+0

谢谢,但...如果你采取这个MWE(最小的工作克实施例): '唧唧歪歪: \开始{收集} A> B,A = B,A