正则表达式不匹配URL

时间:2015-06-11 05:25:33

标签: .net regex

我有正则表达式(1),它与下面指定的URL匹配。但是我在创建输入URL的正则表达式时遇到问题(请参阅不匹配)。有关如何在正则表达式上执行此操作的任何想法,用户可以使用http,https或www的组合输入URL,甚至不使用这三个但仍会匹配URL?

(1)
^(http|https)://www.example.com

(1) Matches
http://www.example.com
https://www.example.com

Not Matching
http://example.com
https://example.com

Should Match
http://www.example.com
https://www.example.com
http://example.com
https://example.com
example.com

2 个答案:

答案 0 :(得分:2)

使用https://量词使www?成为可选项。

^(?:(?:http|https)://)?(?:www\.)?example\.com

Regex Demo

答案 1 :(得分:2)

^(?:(?:http|https):\/\/)?(?:www\\.)?example\\.com$

只需在$之前将\.com附加到nu11p01n73R解决方案,以防您的匹配结束于.com