如何在字符串中获取一系列网址,如:
"http://www.google.de, http://www.lycos.de, http://www.facebook.de"
已经尝试过这个。这只返回第一个昏迷。它应该保留并且是全球性的。
new RegExp(", *", "g").exec(attrValue);
答案 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
全局修饰符),当找到逗号和可选空格的序列时,我们停止(使用前瞻式子表达式),或者当我们到达字符串的末尾时。