gpt4 book ai didi

regex - 删除标签外的文本

转载 作者:行者123 更新时间:2023-12-04 04:56:10 35 4
gpt4 key购买 nike

使用 vim,我试图删除所有文本 外面<text>块。这需要跨越换行符和其他(不相关的)标签。

我曾尝试使用正则表达式来替换换行符,但由于几个原因而失败,其中一个原因是我的尝试没有跨越多行,而且我需要让我的匹配项不贪婪。 (这是使用 {-} 以某种方式完成的吗?)

应该与我要删除的内容匹配的正则表达式如下所示:<//text>.*<text.*>但是如果我让这个匹配变得非贪婪,我可能会有其他问题。 (我也意识到我将在开始时清理一个部分标签部分。)

有没有我应该采取的另一种方法,或者有人可以指导我删除所有内容不是 在使用 vim 的此类标签之间?

编辑:包括示例文本

<contributor>
<username>MalafayaBot</username>
<id>628</id>
</contributor>
<minor />
<comment>Robô: A modificar Categoria:Vocábulo de étimo latino (Português) para Categoria:Entrada de étimo latino (Português)</comment>
<text xml:space="preserve">={{-pt-}}=
==Substantivo==
{{flex.pt|ms=excerto|mp=excertos}}
{{paroxítona|ex|cer|to}} {{m}}
# [[extrato]] de um [[texto]], [[fragmento]]
#: ''A seguir, um '''excerto''' do texto original.''

===Tradução===
{{tradini}}
* {{trad|es|extracto}}
* {{trad|fr|extrait}}
{{tradmeio}}
* {{trad|en|excerpt}}
{{tradfim}}

=={{etimologia|pt}}==
:Do latim ''[[excerptu]]'' (colhido de).

=={{pronúncia|pt}}==
===Brasil===
* [[SAMPA]]: /e.&quot;sEx.tu/
* [[AFI]]: /esˈertu/
[[zh:excerto]]</text>
<sha1>8i1zywj37s74ah4wnai11ohorfjn8j5</sha1>
<model>wikitext</model>

最佳答案

您在正则表达式方面的挣扎表明您使用了错误的工具来完成这项工作。

对于从 XML 中提取文本,您可以使用 XSLT,它可以比正则表达式更好地处理所有特殊情况。或者使用专用工具,如 xidel ,一种用于 XML 的 grep。有了它,提取就像:

xidel --extract "//text" input.xml

关于regex - 删除标签外的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16721360/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com