0
我怎麼能得到這樣一個字符串中的URL的數組:的URL昏迷分隔的正則表達式的exec名單「*」
"http://www.google.de, http://www.lycos.de, http://www.facebook.de"
已經嘗試過這一點。這隻返回第一次昏迷。它應該是保留的和全球的。
new RegExp(", *", "g").exec(attrValue);
我怎麼能得到這樣一個字符串中的URL的數組:的URL昏迷分隔的正則表達式的exec名單「*」
"http://www.google.de, http://www.lycos.de, http://www.facebook.de"
已經嘗試過這一點。這隻返回第一次昏迷。它應該是保留的和全球的。
new RegExp(", *", "g").exec(attrValue);
使用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
全球改性劑),當找到一串逗號和可選空白時,或者當我們到達字符串的末尾時,我們停止(使用預見子表達式)。
總是遇到這個正則表達式的一些麻煩。不知道爲什麼。我是一個打字用戶,但也許是我的錯。 –
爲什麼不使用'str.split()'? – Jerry
是的,肯定它是一個可能的解決方案。 –