2

出力のコンマ(、)を取り除く方法は?文字列またはセンテンスからURLを検索するためのより良い方法はありますか?

alert("   http://www.cnn.com  df".match(/https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?/));

アラートからの出力は次のとおりです。

http://www.cnn.com,,,,
4

3 に答える 3

1

これは、配列であるalertの結果を文字列に変換するために発生します。match配列の関連部分を取得するには、次を使用します。

alert("   http://www.cnn.com  df".match(/https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?/)[0]);
于 2012-08-26T02:21:50.910 に答える
0

g正規表現の最後にmodifireを追加します。

 alert(
"http://www.cnn.com df".match(/https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?/g)
);
于 2012-08-26T02:39:30.167 に答える
0

正規表現のあなた(*)は、戻り値を複数の一致する結果を持つ配列にします。あなたはを使用して行うことができます?:

alert("   http://www.cnn.com  df".match(/https?:\/\/(?:[-\w\.]+)+(?::\d+)?(?:\/(?:[\w/_\.]*(?:\?\S+)?)?)?/));

または、返された配列の最初の値を取得します。

alert("   http://www.cnn.com  df".match(/https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?/)[0]);
于 2012-08-26T02:23:51.673 に答える