次のような文字列内のURLの配列を取得するにはどうすればよいですか:
"http://www.google.de, http://www.lycos.de, http://www.facebook.de"
すでにこれを試しました。これは、最初のコマだけを返します。予約済みでグローバルである必要があります。
new RegExp(", *", "g").exec(attrValue);
次のような文字列内のURLの配列を取得するにはどうすればよいですか:
"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 には正規表現リテラルの非常に便利な表記法があるため、コンストラクトを使用する必要はありません。
完全を期すために、次のように実行できますRegExp.match
。
var origin = "http://www.google.de, http://www.lycos.de, http://www.facebook.de";
var urls = origin.match(/.+?(?=,\s*|$)/g);
考え方は本質的に同じです: 各パターンマッチの反復 (/g
グローバル修飾子が使用されているため) に対して、カンマとオプションの空白のシーケンスが見つかったとき、またはパターンの終わりに到達したときに (先読み部分式を使用して) 停止します。ストリング。