正则表达式模式提取大括号之间的字符串,并排除大括号

学习
$str='\add[sometext]{\begin{equation}\label{eqn:3}
f_{1} =
\begin{cases}}
\beta_{1} + \beta_{2}f_{2} & f_{2}\leq \gamma\\
\beta_{1} + \beta_{2}\gamma + \beta_{4}(f_{2}-\gamma) & f_{2} >\gamma
\end{cases}sdsdssd,
\end{equation}}
 it may have some extra code here with {}
 \end{equation}}'

我需要提取的字符串\add[sometext]{}(ietill \添加标签结束大括号)的字符串之间的\add[sometext]{}可能发生变化,所以我不能指定的开始和结束的花括号中的正则表达式这些字符串我应该只考虑\add[sometext]

预期产量:

\begin{equation}\label{eqn:3}
    f_{1} =
    \begin{cases}
    \beta_{1} + \beta_{2}f_{2} & f_{2}\leq \gamma\\
    \beta_{1} + \beta_{2}\gamma + \beta_{4}(f_{2}-\gamma) & f_{2} >\gamma
    \end{cases}sdsdssd,
    \end{equation}

我试过了:

$str=preg_replace('/\\\\add\s*\[\s*\w*\]\s*{(.*?)}/s,$1,$match)

我不知道如何获得相关的花括号(即\add tag start { till end }

学习

我有一个正则表达式可以满足我的要求。

$str = preg_replace('/\\\\add\s*\[.*]\s*{(.*?)\\\\end{(.[^\s]*?)}}/s', "$1\\end{\$2}", $str);

工作演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用R的正则表达式将大括号替换为大括号?

如何使用正则表达式排除两个大括号之间的文本?

正则表达式匹配文本,后跟大括号

正则表达式提取括号之间的字符串,该字符串也包含其他括号

修改正则表达式以仅替换大括号外的字母并排除标点符号

复杂的正则表达式,用于获取字符串中大括号中的数字

正则表达式:查找大括号之间的字符串,大括号本身包含大括号

正则表达式在大括号之间获取文本

正则表达式:用大括号周围的[^]代替大括号

正则表达式在大括号之间获取价值,包括带括号的大括号

python正则表达式从多行大括号中查找字符串

正则表达式匹配方括号内大括号内的字符串

正则表达式只返回最后一级大括号之间的字符串

正则表达式,匹配大括号内的值

大括号之间多次匹配的正则表达式

正则表达式:如果字符串中包含文本,则提取带有大括号括起来的单词的字符串

使用正则表达式从python中的字符串中删除大括号

vbscript正则表达式匹配大括号

正则表达式查找带引号的字符串中的所有大括号

正则表达式匹配大括号中的文本并打印整个大括号

正则表达式匹配大括号内的字符串

正则表达式提取字符串末尾括号之间的数字

在括号之间的数据中提取字符串忽略内部括号正则表达式python

正则表达式排除大括号之间的值并在其余部分应用模式

在javascript中使用正则表达式获取两个大括号之间的所有字符串

使用正则表达式提取不在方括号内的字符串模式

大括号的正则表达式

排除之间的花括号并获取字符串 - 正则表达式

正则表达式查找哈希注释排除大括号