2016-12-08 12 views
0

私は正規表現を使用してC#のURLを検証しています。 正規表現は次のとおりです。Regex:ポート番号を使用してURLを検証する

^((((http(s)?|ftp(s)?):(?:\/\/)?)(?:[-;:&=\+\$,\w][email protected])?[A-Za-z0-9.-]+|(?:([a-zA-Z]{1,}\.)|[-;:&=\+\$,\w][email protected])[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$

それはのようなURLのために正常に動作している:、http://stackoverflow.com stackoverflow.comが、私はまたhttp://localhost:1234とlocalhostを検証する:1234。

+1

参照[?文字列が有効なURLであるかどうかをチェックするための最良の正規表現とは何か](http://stackoverflow.com/questions/161738/what-文字列であるかどうかを確認する正規表現であることを確認するURL) –

+1

可能である必要があります。 Regexではすべてが可能です。 HTMLを解析することさえほぼ可能です(http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454)。 2017年2月に独自のコードを理解したい場合は、別のコードを使用してください。 –

答えて

0

代わりに、この正規表現を試してみてください:

^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$ 
+0

"http:// localhost"も検証されています。 –

関連する問題