我正在尝试使用python正则表达式编辑文本,该正则表达式源自其他人创建的MS Word文档。该文档具有需要保留的特定格式和方程式。我将.docx文件保存为.xml并使用python进行编辑。不幸的是,Word添加了XML标签,用我的正则表达式分隔单词和混乱。示例(这是Word输出的格式):
<rdf:Description rdf:about="http://ballads.bodleian.ox.ac.uk/id/sheetmanifestation/1">
<rdf:type rdf:resource="http://vocab.ox.ac.uk/balladspec#SheetManifestation"/>
<ballads:exemplar rdf:resource="http://ballads.bodleian.ox.ac.uk/id/sheetitem/1"/>
<!-- LITERAL VALUES -->
<!-- number of ballads on sheet -->
<ballads:numberBalladsOnSheet>1</ballads:numberBalladsOnSheet>
<!-- identifier for the sheet manifestation -->
<ballads:identifier>1</ballads:identifier>
<ballads:identifier>UUID:d90706bc-a05a-46e2-a502-66365e1f63b2</ballads:identifier>
<ballads:identifier>Allegro: b57054</ballads:identifier>
<!-- EVENT -->
<ballads:sheetManifestationCreated rdf:resource="http://ballads.bodleian.ox.ac.uk/id/event/74921d93-af22-4ad0-a782-c6d200dfd03e"/>
<!-- ballad manifestation -->
<ballads:sheetManifestationComposedOf rdf:resource="http://ballads.bodleian.ox.ac.uk/id/balladtextmanifestation/1"/>
<!-- Imprint -->
<ballads:sheetManifestationComposedOf rdf:resource="http://ballads.bodleian.ox.ac.uk/id/element/efeffc93-915b-48f9-9988-fc2820228251"/>
</rdf:Description>
我试图用正则表达式删除标记,但收效甚微。任何帮助表示赞赏。
编辑:解决方案不必包含Python或正则表达式
答案 0 :(得分:0)
这不是一个真正的正则表达式,但尝试使用大小:
s = """awe</w:t></w:r><w:r w:rsidRPr="00106B67"><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/><w:sz w:val="21"/><w:szCs w:val="21"/></w:rPr><w:t>some"""
answer = []
depth = 0
for char in s:
if char == "<": depth += 1
elif char == ">": depth -= 1
if depth: continue
if char == ">": continue
answer.append(char)
print(''.join(answer))