У меня есть код LaTeX который выглядит так:

--- text might be here ---
$\begin{cases}
k & l & m \\
x & y & z
\end{cases}$
--- text might be here ---
$\begin{cases}
k & l & m \\
x & y & z
\end{cases}$
--- text might be here ---
$\begin{cases}
k & l & m \\
x & y & z
\end{cases}$
--- text might be here ---

Я создал это regex , чтобы захватить каждый из cases среды:

\\begin\{cases\}((\s*.*\s*)*)\\end\{cases\}

Случилось так, что он совпал с начала \begin{cases} до последнего \end{cases} , а мне нужно, чтобы он соответствовал каждой среде независимо, то есть совпадал с первым \end{cases} после каждого \begin{cases} это соответствует.

Обратите внимание, что пробелы, переносы строк и табуляции не являются необходимыми и могут не всегда присутствовать.

1 ответ1

0

Обычно вы можете использовать разные подходы:

  1. использовать ленивые квантификаторы
    • .*? .*
  2. исключить символы, если вы можете найти их, появляющихся только при закрытии
    • [^{]* или [^\] вместо .*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .