此问题已在此处有答案:
How can a recursive regexp be implemented in python?(3个答案)
24天前关闭
我正在寻找一个正则表达式返回嵌套括号之间的文本,包括括号。我试图在Python中使用“re”库来实现这一点,但到目前为止还没有成功。非常感谢你的帮助。
例如:
INPUT = '{} abc {abc} cdf {"a":1, "b":"{"a":1, "b":{"a":1}}"}'
OUTPUT = ['{}', '{abc}', '{"a":1, "b":"{"a":1, "b":{"a":1}}"}']
import re
result = re.findall(**regex**, INPUT)
print(result)
2条答案
按热度按时间f2uvfpb91#
由于您试图匹配平衡的括号结构,一个干净而健壮的方法是使用支持递归的正则表达式引擎,例如
regex
模块,并使用(?R)
模式递归匹配平衡的括号对:该输出:
演示:https://replit.com/@blhsing/CompetentBriskScans
h9vpoimq2#
除了使用正则表达式,您还可以简单地解析输入。例如:
输出量: