クローム拡張機能を作成しています。他のウェブサイトからHTMLデータを解析する機能があります。そして、私は別のものをキャプチャするために正規表現を使用したい、以下のようにjavascriptタグ内に配置された2つのJson文字列を解析する必要があります。私は、次の正規表現で第二の部分をキャプチャするために、成功を持っている:それは}まで一致すると予想しながら、それが唯一のトークンCSRFの終わりに一致させることができるようJavascriptの正規表現がjsonとhtmlで一致する
/iDetailData\s+=\s+({[^]+});/g
が、最初の部分は難しいようです。。私が最初にJSONの一部をキャプチャするために、次の正規表現を使用している:あなたはすべてのこのような場合のために経験している場合
/iDetailConfig\s+=\s+([^}]+)/g
あなたは私を助けていただけますか?
<script type="text/javascript">
var iDetailConfig = {
'pageType': '',
'pageid': 'laputa20150511141457',
'offerid': '528011005304',
'catid': '122238002',
'dcatid': '53486008',
'parentdcatid': '54546001',
'isRangePriceSku': 'true',
'isSKUOffer': 'true',
'memberid': 'b2b-275072844861040',
'loginId': '淘淘羊供应链',
'islogin': 'false',
'buyerUserID': '',
'isTP': 'true',
'isSlsjSeller': 'false',
'loginurl': '',
'topDomainTpl': '',
'unit': '个',
'priceUnit': '元',
'isPreview': 'false',
'isVirtualCat': 'false',
'isLadderGroup': '',
'refPrice': '339.00',
'beginAmount': '1',
'mergeVariable': 'asyncResourcesAliimg',
'currentTime': '1488967781423',
'isAccessSpecialSuppy': 'true',
'domainType': '',
'sourceType': 'freebuynowoffer',
'hasConsignPrice': 'false',
'mkcActivityId': '',
'mkcActivityStartTime': '',
'qrcode': 'https://gqrcode.alicdn.com/img?type=ali&w=150&h=150&el=m&text=http%3A%2F%2Fma.m.1688.com%2Frush.html%3Fsecret%3D8mNOFtQd',
'minqrcode': 'https://gqrcode.alicdn.com/img?type=ali&w=46&h=46&el=m&text=http%3A%2F%2Fma.m.1688.com%2Frush.html%3Fsecret%3D8mNOFtQd',
'officialActivityId': '',
'userId': '2750728448',
'end': 0,
'_csrf_token': '9274f530e426ddb9af2d0f254d464fce'
};
var iDetailData = {
"sku": {
"price": "",
"retailPrice": "",
"canBookCount": "274",
"saleCount": "45",
"priceRange": [
[1, 339.00],
[2, 269.00]
],
"priceRangeOriginal": [
[1, 339.00],
[2, 269.00]
],
"skuProps": [{
"value": [{
"name": "黄白色(大象长颈鹿款))"
}, {
"name": "米白色(小羊小鸭款)"
}, {
"name": "蓝色(小牛小马款)"
}, {
"name": "粉色"
}],
"prop": "颜色"
}, {
"value": [{
"name": "50*30*7/9cm"
}],
"prop": "尺寸规格"
}],
"skuMap": {
"米白色(小羊小鸭款)>50*30*7/9cm": {
"canBookCount": 174,
"skuId": 3201563335895,
"specId": "7f68748bd9b704fa9708242ec570aa33",
"saleCount": 3
},
"蓝色(小牛小马款)>50*30*7/9cm": {
"canBookCount": 44,
"skuId": 3201563335894,
"specId": "57e90efbfac8e7b69e73108a07d6198f",
"saleCount": 10
},
"黄白色(大象长颈鹿款))>50*30*7/9cm": {
"canBookCount": 7,
"skuId": 3201563335893,
"specId": "3c4e75dbf21e70d5cea3dcb033bf0a9c",
"saleCount": 7
},
"粉色>50*30*7/9cm": {
"canBookCount": 49,
"skuId": 3201563335896,
"specId": "5139112038a0bdef1f3d48e035448d48",
"saleCount": 6
}
},
"end": 0
}
};
iDetailData.allTagIds = [];
iDetailData.isSourcePromotion = false
iDetailData.hasPurcharseMark = false
</script>
申し訳ありません、これらのJSON文字列はどこですか? – Phil
@Philそれはあなたが見ることができる変数として定義されています: 'var iDetailConfig'と' var iDetailData' –
あなたの質問を理解できません。 **あなたは何をしようとしていますか?あなたはすでに 'iDetailConfig'と' iDetailData'というオブジェクトを持っています。 – Phil