2
A
答えて
0
Konrad Rudolph氏が正しく指摘しているとおり、OP内のすべての例は有効なURLです!また、空の文字列も有効なURLであることを知っていますか?それは本当です! 本当にがURLを検証したい場合、またはというURIをとすれば、最初に読む文書はRFC-3986 - Uniform Resource Identifier (URI): Generic Syntaxです。
Regular Expression URI Validation
注ジェネリック URIと、この唯一の取引いる:私は、件名に記事この問題にビットを探していると書かれている(書いています)。興味のあるスキームに固有の要件(例えば、HTTP
)を調べることをお勧めします。ホスト名がvaild DNSホストであることが必要です。
3
(http://|/)[^ :]+
を失敗し
/example.com/some
は、フォルダにピリオドを付けることができるため、すべてのファイルに拡張子が付いていないため、有効なURLです。 システムによっては、ネガティブな角括弧に追加する文字の種類が簡単に増えることがあります。
これを行う最も簡単な方法は、サーバから実際に天気をチェックするためにファイルメタデータを実際に要求することですが、正規表現はまったく使用しません。
+1
他のプロトコルはどうですか? https? ftp? smb?あまりにも信頼できるものではありません。 – caiosm1005
関連する問題
- 1. routerLink絶対URL
- 2. 正規表現:URL
- 3. 正規表現URL
- 4. URL正規表現
- 5. 相対URL html
- 6. PhoneGap相対URL
[文字列が有効なURLであるかどうかをチェックするのに最適な正規表現は何ですか](http://stackoverflow.com/questions/161738/what-is-the-best-regular-expression-to-文字列が有効なURLを確認する) –
すべての例は**有効なURLです。 - 実際、最後のものは有効**絶対** URL(あなたは相対的なもの、絶対的なもの、プロトコルスキーマを持たないものと思われます)と最後のものは(有効な!)相対URLです。要約すると、あなたが何をしているのかははっきりしない。 #4の –
の欠陥:私はページ「http://www.somesite.com/blah.html」にあります。 ...のようなページにリンクがある場合、最終的には「http://www.somesite.com/example」を指す有効なURLにすることができる「http://www.somesite.com/example」が表示されます/index.html "またはmod_rewriteでリダイレクトできるものがあります。そのメモでは、mod_rewriteを使って何かに何かをリダイレクトすることができますので、厳密に"無効 "なURLはありません。 –