BNF语法匹配开始标记和结束标记
问题描述:
我想匹配BNF语法匹配开始标记和结束标记
\begin{alpha}
content_between
\end{alpha}
其中content_between非常复杂,在几个步骤定义,所以使用正则表达式一个我无法定义它。
最重要的一点是,开始标记和结束标记具有相同的alpha
内容,如在HTML,所以我的想法是要做得像:
tokens=[
BEGIN='regexp:\\begin\s*\{([a-zA-Z]+)\}'
END='regexp:\\end\s*\{$1\}'
]
content_between ::= ...
begin_to_end ::= BEGIN content_between* END
是否有一种方式来获得第一alpha
在第二个正则表达式,而不是在一个正则表达式中做?