このRegex ([a-zA-Z0-9]?(?:http[s]?://)?(?:(?:\w+)\.)(?:\S+)(?:\.(?:\w+))+?)
は、文字列の内側にhttp://www.msn.com
またはwww.msn.com
またはmsdn.microsoft.com
またはhttp://msdn.microsoft.com
の出現を見つけることに成功しました。しかし、私が使用する必要がある2つの置換アルゴリズム、この1つは<a href=\"$1\" target=\"_blank\" onclick=\"preventDualEditing(event)\">$1</a>
とこの1つは<a href=\"http://$1\" target=\"_blank\" onclick=\"preventDualEditing(event)\">$1</a>
です。 違いは、www.msn.com
のようなリンクに必要なhttp://
の文字列の接頭辞です。Regexの条件付き置換
しかし、何が起こっているのは、最初に見つかったのoccuranceがhttp://www.msn.com
あるので、それが複数回に置き換えwww.msn.com
を交換しようとしている場合、私はので、物事をめちゃくちゃにされたに置き換えるステートメントを使用するループである - それは見つかっかつてときは、すでにhttp://
とリンクしていて、それが見つかったらwww.msn.com
となります。
必要に応じてhttp://
を条件付きで追加する方法はありますか?
の
$2
を使うのか?あなたのためにやる?いつあなたは "http://"の前で何かをキャプチャする必要がありますか?あなたは "http://"の後ろのすべてをキャプチャして、常に GetSetできることは、私がこの文字列 '(www.msn.com)でカッコをピックアップしないようにすることです - 私はちょうどリンクをピックアップします。 –