我知道了:import re
filename = 'tr.txt'
with open(filename,'r') as f:
ch = f.read()
pat = re.compile('createNode newnode -n ("\w+?_SET");(.*?)(?=createNode|\Z)',re.DOTALL)
pit = re.compile('^ *setAttr.+?("[^"\n]+").+("[^"\n]+");(?:\n|\Z)',re.MULTILINE)
dic = dict( (mat.group(1),dict(pit.findall(mat.group(2)))) for mat in pat.finditer(ch))
print dic
结果
^{pr2}$
一。在
问题:
如果字符串中必须有'"'字符怎么办?它是如何表现的?在
一。在
编辑
我很难找到解决办法,因为我没有选择设施。在
这是一个新的模式,它捕捉第一个字符串"...",最后一个字符串" setAttr"之后和下一个{}之前。因此,可以出现几个"...",而不仅仅是3个。你没有问这个条件,但我想这可能是需要的。在
我还设法使在字符串中出现新行来捕捉"....\n......",而不仅仅是在它们周围。为此,我不得不为我发明了一个