2017-07-16 8 views
0

にあるリンクの切断を抽出する正規表現ねえ、私が渡される文字列にリンクを追加するには、次の正規表現の関数を作成している人は、関数はそうのようになります。スラッシュ

function addLinks(str) { 
     return str.replace(RegExp('https://[^/\s]+' , 'g') , (match , p1) => '<a href="' + match + '">' + match + '</\a>'); 
    } 

私は上記の関数aを渡します以下のような文:

<li>Go through codepens and make experiments folder -- <a href="https://codepen.io">https://codepen.io</a>/pens/</li> 

最後のP:私は次の出力を得る

Go through codepens and make experiments folder -- https://codepen.io/pens/ 

を追加したにもかかわらず、リンク/pens/のアートがリンクに含まれないのはなぜですか?

答えて

1

あなただけの空白文字を打つまで一致させるために試みることができる:

function addLinks(str) { 
    return str.replace(RegExp('https://[^\s]+' , 'g') , (match , p1) => '<a href="' + match + '">' + match + '</\a>'); 
} 

有効 URLはそれらの中に空白を持つことができないので、これはうまくいくかもしれません。もちろん、この正規表現は壊れたURLのマークを見逃してしまいます。

+0

+1こちらのフィドルでは - > https://jsfiddle.net/2ajzrfqb/、google.comの後の部分は選択されません。 :| –

関連する問題