我有一个格式如下的字符串:
'0 = text defining value 1 = text2 2 = text3, text3 (text3) 3 = text4'
具有未知数量的值。我正在尝试使用正则表达式来匹配每个数字描述对的0和“文本定义值”。现在,我有
'([0-9]{1,2}) ?= ?(.*?) ?[0-9]{0,2} ?[=$]'
作为我的正则表达式,但这只匹配字段中的其他所有值。关于如何让它与所有这些相匹配的任何建议?
由于
答案 0 :(得分:0)
您可以使用前瞻来确定下一个分区的位置:
import re
pattern = re.compile(r"(\d+)\s+=\s+(.*?)(?=\s+\d+\s+|$)")
your_text = "0 = text defining value 1 = text2 2 = text3, text3 (text3) 3 = text4"
pairs = pattern.findall(your_text)
# [('0', 'text defining value'),
# ('1', 'text2'),
# ('2', 'text3, text3 (text3)'),
# ('3', 'text4')]
如果您正在寻找的是什么,那么您的问题就会有些模糊。