2016-12-21 4 views
1

を返さない私は、文字列内のすべてのURLを確認し、それ正規表現パターンマッチ

<body> 
<button onclick="myFunction()">Try it</button> 

<p id="demo"></p> 

<script> 
function myFunction() { 
    var str = "google.com is here http://www.google.com" 
    // str += "af sfda sdajsd a" 
    // str += " google.com" 



var patt1 = /(\b(?:(https?|ftp):\/\/)?((?:www\d{0,3}\.)?([a-z0-9.-]+\.(?:[a-z]{2,4}|museum|travel)(?:\/[^\/\s]+)*))\b)/g; 

    var result = str.replace(patt1, function(url) { 
     return '<a href="' + url + '">' + url + '</a>'; 
    }); 

    alert(result) 
    document.getElementById("demo").innerHTML = result; 
} 
</script> 

</body> 
</html> 

これが正常に動作しますが、私は、サーバー側で同じパターンを使用する場合、それはどんな試合を返さないにハイパーリンクを追加するために正規表現のコードを次しています。それでは、私は間違って

私vb.netコードを

Dim regex As New Regex("/(\b(?:(https?|ftp):\/\/)?((?:www\d{0,3}\.)?([a-z0-9.-]+\.(?:[a-z]{2,4}|museum|travel)(?:\/[^\/\s]+)*))\b)/g;") 

Dim mactches As MatchCollection = regex.Matches(strtemp) 

      For Each match As Match In mactches 
       strtemp = strtemp.Replace(match.Value, "<a target='_blank' href='" & match.Value & "'>" & match.Value & "</a>") 
      Next 
+1

JS正規表現のリテラルの先頭と最後にある '/'は実際には表現の一部ではなく、JS正規表現のリテラル構文です...(また、あなたの質問を編集することもできますタイトル。) – nnnnnn

+0

@nnnnnn私の悪い仲間。私はパターンから/と/ gを取り除いただけで、正しく動作しました。どうもありがとう – Sameer

答えて

0

私はちょうど削除/およびパターンから/グラムをたどり、それが正常に働いていたとされてやっているということです。