来自乳胶线的REGEX解析命令 - Python

时间:2014-05-05 22:06:10

标签: python regex latex lilypond

我试图解析并删除每行加载的任何\command\textit等...)(来自.tex文件或来自lilypond文件的其他命令{{1 }})。

我怎么能这样做?

我尝试了什么

[\clef, \key, \time]

实施例

输入

import re
f = open('example.tex')
lines = f.readlines()
f.close()

pattern = '^\\*([a-z]|[0-9])' # this is the wrong regex!!
clean = []
for line in lines:
    remove = re.match(pattern, line)
    if remove:
        clean.append(remove.group())

print(clean)

预期输出

#!/usr/bin/latex

\item More things
\subitem Anything

2 个答案:

答案 0 :(得分:2)

您可以使用this pattern ^\\[^\s]*

进行简单的正则表达式替换

python中的示例代码:

import re
p = re.compile(r"^\\[^\s]*", re.MULTILINE)

str = '''
\item More things
\subitem Anything
'''

subst = ""

print re.sub(p, subst, str)

结果将是:

More things
Anything

答案 1 :(得分:0)

这将有效:

'\\\w+\s'

它搜索反斜杠,然后搜索一个或多个字符和空格。