正则表达式需要匹配django视图的域名

时间:2014-04-30 20:57:51

标签: regex django django-urls alphanumeric

我试图将网址与以下域名匹配:

Testing.com testing.com Testing.net testing.net Testing.org testing.org

以及其他扩展。

我试图在django视图中制定一个正则表达式,如:

(r'^Account/Testing/d=([a-z]{1,50})$', TestApp),

我尝试了^[A-za-z]{2,50}$,但这与开头的大写字母不匹配

有任何帮助吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

幸运的是,这毕竟不是那么糟糕 - 这是匹配具有不同扩展名的域名的一种方法:

^[A-za-z]{2,50}.[a-z]{1,3}$

匹配.com,.org,.net等

如果你有像me2.com这样的域名,最好使用它:

(^[A-za-z0-9]{2,50}.[a-z]{1,3})$

答案 1 :(得分:0)

你可以用这个

/^(?:http(?:s)?:\/\/)?(?:w{3})\.([a-z_0-9-]+\.\w{2,3}(?:\.\w{2})?)/i

它会匹配像这样的链接

http://www.site.com
https://www.site.com
http://www.site.co.uk
https://www.site.co.uk
http://www.site.com.br
https://www.site.com.br
http://www.site-site.com.br
https://www.site-site.com
http://www.site-site.co.uk
https://www.site-site.co.uk
www.site-site.com
www.site-site.co.uk
www.site-site.com.br
www.site.com

以及其他很多变种

即使网站有 www.site.com/news

它只会匹配" site.com"

/ i修饰符将匹配大小写的所有变体

如果您只想将域名匹配为上下

/^(?:http(?:s)?:\/\/)?(?:w{3})\.((?i:[a-z_0-9-])+\.\w{2,3}(?:\.\w{2})?)/

(?i:[a-z_0-9-])仅匹配域名的变体