37,721
社区成员
发帖
与我相关
我的任务
分享
import re
ss = "gtmAddToCart({'name':'Jack N\'Jil l, 杰克吉尔 牙刷兔子图案1支+儿童牙膏香蕉味 50g','id':'8753131' , 'price':'11','brand':'' ,'mall':'Amcal中文官网', 'category':'母婴用品/洗护用品/婴儿护理用品/婴儿口腔护理','metric1':'11','dimension10':'amcal.com.au','dimension9':'faxian','dimension11':'1阶价格','dimension12':'Amcal中文官网','dimension20':'无','dimension32':'无','dimension25':'769'})"
sss = re.findall(r"('.*?':'.*?'[$|\s*,])",ss,re.S)
for item in sss:
print(item)
import re
a = ("gtmAddToCart({'name':'Jack N\'Jil l, 杰克吉尔 牙刷兔子图案1支+儿童牙膏香蕉味 50g','id':'8753131' , 'price':'11','brand':'' ,'mall':'Amcal中文官网', 'category':'母婴用品/洗护用品/婴儿护理用品/婴儿口腔护理','metric1':'11','dimension10':'amcal.com.au','dimension9':'faxian','dimension11':'1阶价格','dimension12':'Amcal中文官网','dimension20':'无','dimension32':'无','dimension25':'769'})")
b = re.findall(r"(\'.*?'\:\'.*?\')", a, re.S)
print(type(b))
另,想看看正则表达式,有没有什么书籍推荐一下?
>>> raw_str = "{'name':'Jack N\'Jil l, 杰克吉尔 牙刷兔子图案1支+儿童牙膏香蕉味 50g','id':'8753131' , 'price':'11','brand':'' ,'mall':'Amcal中文官网', 'category':'母婴用品/洗护用品/婴儿护理用品/婴儿口腔护理','metric1':'11','dimension10':'amcal.com.au','dimension9':'faxian','dimension11':'1阶价格','dimension12':'Amcal中文官网','dimension20':'无','dimension32':'无','dimension25':'769'}"
>>> d = eval(repr(raw_str))
>>> d
"{'name':'Jack N'Jil l, 杰克吉尔 牙刷兔子图案1支+儿童牙膏香蕉味 50g','id':'8753131' , 'price':'11','brand':'' ,'mall':'Amcal中文官网', 'category':'母婴用品/洗护用品/婴儿护理用品/婴儿口腔护理','metric1':'11','dimension10':'amcal.com.au','dimension9':'faxian','dimension11':'1阶价格','dimension12':'Amcal中文官网','dimension20':'无','dimension32':'无','dimension25':'769'}"
>>>
ss = "'name':'Love up,love cup. 卡通大肚 陶瓷马克杯','id':'8746089' , 'price':'16','brand':'Love up,love cup.' ,'mall':'天猫精选', 'category':'日用百货/厨房用具/水具酒具/陶瓷杯','metric1':'16','dimension10':'tmall.com','dimension9':'faxian','dimension11':'1阶价格','dimension12':'天猫精选','dimension20':'无','dimension32':'先发后审','dimension25':'10162'"
sss = ss.split("','")
for item in sss:
s=item.replace("'","")
print(s)
这样子简单点,也有复杂点的办法
Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ss = "'name':'Love up,love cup. 卡通大肚 陶瓷马克杯','id':'8746089' , 'price':'16','brand':'Love up,love cup.' ,'mall':'天猫精选', 'category':'日用百货/厨房用具/水具酒具/陶瓷杯','metric1':'16','dimension10':'tmall.com','dimension9':'faxian','dimension11':'1阶价格','dimension12':'天猫精选','dimension20':'无','dimension32':'先发后审','dimension25':'10162'"
>>> s_dict = eval('{%s}' % ss)
>>> list(s_dict.items())
[('name', 'Love up,love cup. 卡通大肚 陶瓷马克杯'), ('id', '8746089'), ('price', '16'), ('brand', 'Love up,love cup.'), ('mall', '天猫精选'), ('category', '日用百货/厨房用具/水具酒具/陶瓷杯'), ('metric1', '16'), ('dimension10', 'tmall.com'), ('dimension9', 'faxian'), ('dimension11', '1阶价格'), ('dimension12', '天猫精选'), ('dimension20', '无'), ('dimension32', '先发后审'), ('dimension25', '10162')]
>>>
import re
ss = "'name':'Love up,love cup. 卡通大肚 陶瓷马克杯','id':'8746089' , 'price':'16','brand':'Love up,love cup.' ,'mall':'天猫精选', 'category':'日用百货/厨房用具/水具酒具/陶瓷杯','metric1':'16','dimension10':'tmall.com','dimension9':'faxian','dimension11':'1阶价格','dimension12':'天猫精选','dimension20':'无','dimension32':'先发后审','dimension25':'10162'"
sss = re.findall(r"('.*?':'.*?')",ss,re.S)
for item in sss:
print(item)
import re
ss = "'name':'Love up,love cup. 卡通大肚 陶瓷马克杯','id':'8746089' , 'price':'16','brand':'Love up,love cup.' ,'mall':'天猫精选', 'category':'日用百货/厨房用具/水具酒具/陶瓷杯','metric1':'16','dimension10':'tmall.com','dimension9':'faxian','dimension11':'1阶价格','dimension12':'天猫精选','dimension20':'无','dimension32':'先发后审','dimension25':'10162'"
sss = re.split(r"'\s*,\s*'",ss)
for item in sss:
s=item.replace("'","")
print(s)