客戶/訂單數抽取我希望正則表達式大師可以幫助解決我的問題,正則表達式從URL
我想搜索以下URL's
提取數據的某些部分:
/#!/customers/2848060/orders/9234573/history
我想一個正則表達式函數來提取以下
'customers'
字符串(2848060)
數量。我想要另一個正則表達式提取單詞
'orders'
(9234573)
後面的數字。
任何幫助將大規模讚賞。
客戶/訂單數抽取我希望正則表達式大師可以幫助解決我的問題,正則表達式從URL
我想搜索以下URL's
提取數據的某些部分:
/#!/customers/2848060/orders/9234573/history
我想一個正則表達式函數來提取以下'customers'
字符串(2848060)
數量。
我想要另一個正則表達式提取單詞'orders'
(9234573)
後面的數字。
任何幫助將大規模讚賞。
我想要一個正則表達式函數來提取'客戶' 字符串(2848060)後面的數字。
/(?<=customers\/)(.*)(?=\/orders)/g
我想另一個正則表達式來提取字後的數字 '訂單' (9234573)。
/(?<=orders\/)(.*)(?=\/history)/g
以下爲測試
var str = '/#!/customers/2848060/orders/9234573/history'
var customer = str.match(/(?<=customers\/)(.*)(?=\/orders)/g)[0]
var order = str.match(/(?<=orders\/)(.*)(?=\/history)/g)[0]
console.log(customer);
console.log(order);
替代解決方案片斷
我想一個正則表達式函數來提取後面的數字'customers' string(2848060)。
/customers\/(.*)\/orders/
我想另一個正則表達式來提取字後的數字 '訂單' (9234573)。
/orders\/(.*)\/history/
以下爲測試
var str = '/#!/customers/2848060/orders/9234573/history'
var customer = str.match(/customers\/(.*)\/orders/)[1]
var order = str.match(/orders\/(.*)\/history/)[1]
console.log(customer);
console.log(order);
數片斷我想一個正則表達式函數來提取以下 '客戶' 字符串(2848060)
使用捕獲組
對於客戶/customers\/(\d+)/
var matches = "/#!/customers/2848060/orders/9234573/history".match(/customers\/(\d+)/);
if (matches)
{
console.log("customers " + matches[1]);
}
我想另一個正則表達式來提取字後的數字 '訂單' (9234573)。
同樣,對於訂單/orders\/(\d+)/
此外,你可能不需要正則表達式如果URL模式很可能是同一
var items = str.split("/");
var customers = items[4];
var orders = items[6];
謝謝!我最初使用拆分,但URL可能或不可能有網址的訂單部分。這意味着它可能只是/ customers/17264658。 –
var r = /\d+/g;
var s = "/#!/customers/2848060/orders/9234573/history";
var m;
while ((m = r.exec(s)) != null) {
alert(m[0]);
}
我建議你玩https://regex101.com/來建立你的正則表達式。 –