我可以创建一个包含一些静态文本的正则表达式吗;X";然后是递归文本? 我在Python 3中使用了 ReXEX 模块,我想能够检查一个字符串,以匹配一个“零或单模板”的C++数据类型,如 FoO , Foo, Foo, Foo< /Cuff>等

我可以创建一个包含一些静态文本的正则表达式吗;X";然后是递归文本? 我在Python 3中使用了 ReXEX 模块,我想能够检查一个字符串,以匹配一个“零或单模板”的C++数据类型,如 FoO , Foo, Foo, Foo< /Cuff>等,python,regex,recursion,Python,Regex,Recursion,目前,我有()*,其中X是一些文本。这几乎适用于所有给出的示例,只是它们也必须被对包围 我正在寻找一种方法,能够在这个递归部分前面有一些文本。正则表达式可以这样做吗?regex允许递归正则表达式(这些表达式不是严格的正则表达式,这就是为什么您会得到冲突的信息),您只需要添加一个基本情况: (?>\w+<(?R)>)|\w+ (?>\w+)\w+ 这与 regex.match(r"(?>\w+<(?R)>)|\w+", "Foo<Bar<Baz&

目前,我有
()*
,其中
X
是一些文本。这几乎适用于所有给出的示例,只是它们也必须被
对包围


我正在寻找一种方法,能够在这个递归部分前面有一些文本。正则表达式可以这样做吗?

regex
允许递归正则表达式(这些表达式不是严格的正则表达式,这就是为什么您会得到冲突的信息),您只需要添加一个基本情况:

(?>\w+<(?R)>)|\w+
(?>\w+)\w+
这与

regex.match(r"(?>\w+<(?R)>)|\w+", "Foo<Bar<Baz>>")
# <regex.Match object; span=(0, 13), match='Foo<Bar<Baz>>'>
regex.match(r)(?>\w+)\w+,“Foo”)
# 

正则表达式不能计数(因为它们不是上下文无关的*),这是匹配匹配主题所必需的。所以不,你不能。你可以使用更复杂的工具,比如
ANTLR
。尽管如此,如果这是你唯一想要的,用你自己的方法去做应该不会那么难。该死,那太可惜了。谢谢@L3viathan!这就是@dcg现在的计划,谢谢你的建议。啊,新的
regex
模块,很好。使用内置的
re
模块afaik是不可能的。