use*_*472 6 python regex latex
我有一套LaTeX文件.我想为每一个提取"抽象"部分:
\begin{abstract}
.....
\end{abstract}
Run Code Online (Sandbox Code Playgroud)
我在这里尝试了这个建议:如何解析LaTex文件
并试过:
A = re.findall(r'\\begin{abstract}(.*?)\\end{abstract}', data)
Run Code Online (Sandbox Code Playgroud)
数据包含LaTeX文件中的文本.但这A只是一个空列表.任何帮助将不胜感激!
.* 除非提供re.S标志,否则与新行不匹配:
re.findall(r'\\begin{abstract}(.*?)\\end{abstract}', data, re.S)
Run Code Online (Sandbox Code Playgroud)
考虑这个测试文件:
\documentclass{report}
\usepackage[margin=1in]{geometry}
\usepackage{longtable}
\begin{document}
Title maybe
\begin{abstract}
Good stuff
\end{abstract}
Other stuff
\end{document}
Run Code Online (Sandbox Code Playgroud)
这得到了摘要:
>>> import re
>>> data = open('a.tex').read()
>>> re.findall(r'\\begin{abstract}(.*?)\\end{abstract}', data, re.S)
['\nGood stuff\n']
Run Code Online (Sandbox Code Playgroud)
从re模块的网页:
re.S
re.DOTALL制作'.' 特殊字符匹配任何字符,包括换行符; 没有这个标志,'.' 将匹配除换行符之外的任何内容.