所以我使用正則表達式來從字符串中獲取信息,問題是我需要在字符串中啓動並停止/
。JavaScript正則表達式使用一個字符兩次
下面是一個例子
var regexp = /\/(.*?)=(.*?)\//g;
var url_hash = "/s=lorem+ipsum/p=2/";
var match;
var result = {};
while ((match = regexp.exec(url_hash)) != null) {
result[match[1]] = match[2];
}
我可以抓住result['s']
沒有問題,但抓住result['p']
成爲問題,因爲result['s']
結束/
相同的起始/
爲result['p']
。如果我將字符串更改爲/s=lorem+ipsum//p=2/
它完美,但當然這是可怕的。那麼,我該如何解決這個問題,以便它能夠在/
處結束並啓動?我卡住了,任何幫助表示讚賞。
爲什麼你不能用'/\/(.*?)=(.*? )/ g;'作爲正則表達式? – Blender
我不知道,但它不會抓住'result ['p']',除非我添加額外的斜槓。繼續並測試它。 – Ian
'(。*?)'不會在伊恩想要的地方結束。相反,結果['s']將包含'= lorem + ipsum/p = 2 /' –