我需要匹配来自字符串\begin{?}
和\end{?}
,其中?
是任意数量的字母数字或*
字符,因此它必须匹配,例如\begin{align}
和\end{align*}
。
我试图这样做,但我不确定是什么问题
^\\begin{[^}]*}$
从\begin{
开始,多次关注anything that's not }
,然后关注}
。
同样的事情是\end{?}
,但如果可能,我希望它在单个正则表达式中完成。
答案 0 :(得分:3)
我认为下面的正则表达式就是你所需要的。
\\(begin|end){[a-zA-Z0-9*]+}
答案 1 :(得分:3)
你的正则表达式:
\\(begin|end){.*?}
.*
会在{ }
之间抓取任何内容,?
方式会在第一个}
到来时停止。
答案 2 :(得分:0)
{}是用于表达重复的特殊字符,因此您也需要转义它们。
^\\begin\{[^}]*\}$