type:
1
name:
area:
city:
不限
city1:
----
city2:
----
xmxz:
0
state:
0
money:
money1:
number:
0
fid1:
fid2:
fid3:
order:
0
page:
1
include:
0
来源:360se浏览器post中,载荷里的表单数据。复制下来后会呈现上面的样子。
要求:变成字典样式。
问题:1、key和value被分开。2、有的key没有value。
解决:
1、在文本末尾0后加个换行,目的是统一匹配\n。
2、查找(^.*?:.*?)\n((?!.*?:).*?)\n 替换为'\1':'\2',\n
正则式表示从行首开始有:的文本一直到行尾(注意:后要加.*?,因为:后有空格),下行不含有:的文本一直到行尾。
\1和\2分别代表第一个括号和第2个括号(注意,断言括号并不当作替换中的括号,只在正则式中负责匹配)。
结果为:
'type: ':'1',
name:
area:
'city: ':'不限',
'city1: ':'----',
'city2: ':'----',
'xmxz: ':'0',
'state: ':'0',
money:
money1:
'number: ':'0',
fid1:
fid2:
fid3:
'order: ':'0',
'page: ':'1',
'include: ':'0',
3、处理没有value的key。
查找^((?!.*?,).*?)$ 替换为'\1':'',
结果为:
'type: ':'1',
'name: ':'',
'area: ':'',
'city: ':'不限',
'city1: ':'----',
'city2: ':'----',
'xmxz: ':'0',
'state: ':'0',
'money: ':'',
'money1: ':'',
'number: ':'0',
'fid1: ':'',
'fid2: ':'',
'fid3: ':'',
'order: ':'0',
'page: ':'1',
'include: ':'0',
'':'',
4、最后的处理:
删除最后一行没用的'':'',,
删除最后一个value结尾的,,
前后加上花括号,
删除:后的空格(应该从原始文本处就删除所有空格)
{'type:':'1',
'name:':'',
'area:':'',
'city:':'不限',
'city1:':'----',
'city2:':'----',
'xmxz:':'0',
'state:':'0',
'money:':'',
'money1:':'',
'number:':'0',
'fid1:':'',
'fid2:':'',
'fid3:':'',
'order:':'0',
'page:':'1',
'include:':'0'}
火狐出来直接就是字典,只需要去除一些空格就ok
标签:载荷,city1,浏览器,360se,number,----,括号,money1,xmxz From: https://www.cnblogs.com/sbsdnyn/p/17535080.html