2016-12-21 6 views
1

ich habe folgende regex Code alle URL in Zeichenfolge zu überprüfen, und fügen Sie Hyperlink esRegexMuster nicht wiederkehrende Streichhölzer

<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> 

das funktioniert gut, aber wenn ich das gleiche Muster auf Server-Seite verwenden, ist es keine passenden Ergebnisse zurückgeben . Also, was ist, dass ich falsch mache

meinen vb.net Code als

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

Denken Sie daran, dass die '/' am Anfang und Ende eines JS-Regex-Literals nicht Teil des Ausdrucks sind, sie sind die JS-Regex-Literalsyntax ... (Sie könnten auch Ihre Frage bearbeiten Titel.) – nnnnnn

+0

@nnnnnn mein schlechter Bruder der. Ich habe gerade/und/g aus dem Muster entfernt und es hat richtig funktioniert. Danke vielmals – Sameer

Antwort

0

folge i nur entfernt/und/g aus dem Muster und es funktionierte einwandfrei.