URLに一致する素晴らしい仕事をする次の正規表現があります:
((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)`
ただし、プレフィックスのない URL は処理しません。stackoverflow.comまたはwww.google.comが一致しません。プレフィックスがあるかどうかを気にしないようにこの正規表現を変更する方法を知っている人はいますか?
編集: 私の質問があいまいすぎますか? 詳細が必要ですか?
(((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\)))?[\w\d:#@%/;$()~_?\+-=\\\.&]*)
() を追加しましたか? Vinko Vrsalovicが提案したようなプロトコルの周りで、正規表現は、有効な URL 文字が含まれている限り、ほぼすべての文字列と一致するようになりました。
これの私の実装は、コンテンツを管理するデータベースがあり、プレーンテキスト、電話番号、URL、または電子メールアドレスのいずれかを持つフィールドがあります。入力を検証する簡単な方法を探していたので、適切にフォーマットすることができます。URL/電子メールのアンカー タグを作成し、サイト全体で他の番号をフォーマットする方法で電話番号をフォーマットします。助言がありますか?