Skip to main content
 首页 » 编程设计

Python:使用正则表达式删除带有 "{ }"的文本

2024年08月23日32birdshome

通常当我想在 python 中使用正则表达式删除两个字符串之间的文本时,我会这样做:

s = re.sub('z1.*?AA', '', s, flags=re.DOTALL) 

s 是我的文本,我使用上面的代码删除 z1 和 AA 之间的所有内容(包括 z1 和 AA)。但现在我正在努力为以下内容做同样的事情:

我有以下字符串(来自 latex .txt 文件):

\begin{tabular}{lccccc} 
\toprule 
            &            &            &            &            &             \\ 
            &    (0)     &    (1)     &    (2)     &    (3)     &    (4)      \\ 
\hline 
\hline 
\end{tabular} 
\begin{tabular}{llllll} 

我的目标是替换最后一行从 \toprule 到最后一个 的所有内容。 我尝试了几种正则表达式组合,例如 .*?\{} 和其他组合,但没有成功...我做错了什么?

请您参考如下方法:

您可以使用:

s = re.sub(r'\\toprule.*}', '', s, flags=re.DOTALL) 

RegEx Demo

re.DOTALL 使 DOT 匹配任何字符,包括换行符和贪婪的 。* 确保匹配输入中的最后一个 }。