所以,我有一个像

\begin{enumerate}
\item My first item
\item My second item
\end{enumerate}


并且需要使用正则表达式来获取\begin{enumerate}\end{enumerate}之间的部分。我尝试使用模式\\begin{enumerate}(.*?)\\end{enumerate},并且在在线检查器中可以使用,但在运行代码时无法使用。

任何想帮助我的人都将不胜感激。

最佳答案

您可以使用此正则表达式:

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


C#:

var rgx = new Regex(@"(?s)\\begin{enumerate}(.*?)\\end{enumerate}");


模式开头的(?s)强制点与换行符匹配,并与反斜杠匹配,您需要在逐字字符串文字中将其加倍,或在常规的常规字符串文字中将其加倍。

也许,您也想强制执行不区分大小写的匹配。然后,将(?s)替换为(?si)

在Expresso中测试:

关于c# -\begin {enumerate}和\end {enumerate}之间的正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29800346/

10-09 20:47