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
JS正規表現のリテラルの先頭と最後にある '/'は実際には表現の一部ではなく、JS正規表現のリテラル構文です...(また、あなたの質問を編集することもできますタイトル。) – nnnnnn
@nnnnnn私の悪い仲間。私はパターンから/と/ gを取り除いただけで、正しく動作しました。どうもありがとう – Sameer