Regex 使用变量名称空间查找两个标记之间的文本

Regex 使用变量名称空间查找两个标记之间的文本,regex,Regex,我必须解析很多文本文件,其中每个文本文件包含一个或多个XML文档。我知道每个XML都作为根标记封装在信封标记中,但它们有不同的名称空间。 我试图创建一个正则表达式来从文本文件中获取这些XML文档,它确实适用于大多数XML文档,但对于某些XML文档,我遇到了灾难性的回溯错误。我想这是因为文本太大,我的表达效率不高。我对正则表达式不是很在行,所以我正在努力解决这个问题 我要寻找的模式是: XML 到目前为止,我想到的是: (?i)]*?>。 任何帮助都将不胜感激。尝试使用此正则表达式: \1不能在所

我必须解析很多文本文件,其中每个文本文件包含一个或多个XML文档。我知道每个XML都作为根标记封装在信封标记中,但它们有不同的名称空间。 我试图创建一个正则表达式来从文本文件中获取这些XML文档,它确实适用于大多数XML文档,但对于某些XML文档,我遇到了灾难性的回溯错误。我想这是因为文本太大,我的表达效率不高。我对正则表达式不是很在行,所以我正在努力解决这个问题

我要寻找的模式是:
XML

到目前为止,我想到的是:
(?i)]*?>。


任何帮助都将不胜感激。

尝试使用此正则表达式:


\1不能在所有语言中使用。它也不会匹配没有属性的简单信封,比如
content
@stej4n,我不知道使用topicstarter的是哪种语言,我刚刚为他的答案发布了一个可行的解决方案:
我正在寻找的模式是:XML
,我知道,并且没有通用的正则表达式,特别是在使用JavaScript时。回答时应提及语言。您的答案在PCRE和Python中是有效的,这就是为什么我们没有否决它;)