2013-06-03 35 views
0

我怎麼能得到這樣一個字符串中的URL的數組:的URL昏迷分隔的正則表達式的exec名單「*」

"http://www.google.de, http://www.lycos.de, http://www.facebook.de" 

已經嘗試過這一點。這隻返回第一次昏迷。它應該是保留的和全球的。

new RegExp(", *", "g").exec(attrValue); 
+1

爲什麼不使用'str.split()'? – Jerry

+0

是的,肯定它是一個可能的解決方案。 –

回答

3

使用String.split()代替:

var origin = "http://www.google.de, http://www.lycos.de, http://www.facebook.de"; 
var urls = origin.split(/,\s*/); 

您不必使用new RegExp結構,因爲JS對正則表達式的文字相當convenient notation


爲了完整起見,這裏是如何將其與RegExp.match做到:

var origin = "http://www.google.de, http://www.lycos.de, http://www.facebook.de"; 
var urls = origin.match(/.+?(?=,\s*|$)/g); 

的理念在本質上是一樣的:每個模式匹配的重複(如/g全球改性劑),當找到一串逗號和可選空白時,或者當我們到達字符串的末尾時,我們停止(使用預見子表達式)。

+0

總是遇到這個正則表達式的一些麻煩。不知道爲什麼。我是一個打字用戶,但也許是我的錯。 –