2017-10-19 99 views
-2

我正在嘗試構建一個動態腳本,以利用廣告定製工具將我的客戶網站上的價格放入廣告中。有些產品頁面很容易,因爲它們只有一個價格,但在某些情況下有幾個。我將如何編寫一個使用正則表達式匹配頁面上任何價格的腳本,然後返回最便宜的腳本?我可以使用正則表達式來查找產品頁面上最便宜的價格嗎?

+1

我推薦你閱讀[我可以問什麼問題?](https://stackoverflow.com/help/on-topic)和[我如何問一個好問題?](https:/ /stackoverflow.com/help/how-to-ask)。 – Danmoreng

+0

@Jul構建該腳本的步驟比此處可以解答的時間長。您需要構建的是用於根據特定條件「抓取」您的客戶網站的「Spider」。 Google如何解析HTML頁面。這個問題沒有單一的答案。 –

回答

0

你不能這樣做與正則表達式,至少不是沒有完全瘋狂。正則表達式是一個匹配字符 - 數字,字母等的工具。它不知道任何關於角色的意義。通常,您可以使用它從另一個文本中提取部分文本,但要執行數字比較,您需要將文本轉換爲數字,例如使用適當的編程語言。

1

正則表達式有其侷限性。它會匹配價格,但是您需要一個腳本才能處理正則表達式爲您找到的信息。

假設您的問題主要是找到最便宜的價格,這裏是一個腳本,它將採用變量pageText,刮取貨幣數量,轉換爲整數,然後獲取最低數量。

var pageText = "$65.54, hello there king cupid. $54.32 & of course 
$50. $170,000.54"; 
var pricesRegex = /(\$[0-9,]+(\.[0-9]{2})?)/g; 
var parsedPrices = pageText.match(pricesRegex); 
var numbers = []; 
parsedPrices.map((price) => { 
numbers.push(Number(price.replace(/,/g, '').split("$")[1])); 
}); 
var cheapestPrice = Math.min.apply(null, numbers);