正则表达式匹配不同主机上的确切url路径

时间:2009-07-02 10:52:57

标签: regex

需要帮助来创建正则表达式匹配字符串

www.*.abc.*/somestring

这里*是外卡,它可以像任何一样 我们,英国

或com,edu

 www.us.abc.com/somestring
www.uk.abc.edu/somestring

5 个答案:

答案 0 :(得分:7)

[^.]+代替星号和\.代替点,您就可以完成。

www\.[^.]+\.abc\.[^.]+/somestring

[^.]匹配任何非点,[^.]+匹配一串至少有一个字符的非点。 \.匹配一个点,因为.匹配任何字符。

答案 1 :(得分:1)

www\.([a-z]{2})\.abc\.(com|edu)/(.+)

然后,您可以扩展此正则表达式以包含其他valid generic top-level domain name(net,org,...)

www\.([a-z]{2})\.abc\.(com|edu|org|net)/(.+)

您将获得组号1中的Country code top-level domain,即组2中的顶级域名。

答案 2 :(得分:1)

尝试以下正则表达式:

^www\.\w+\.abc\.\w+\/\w+$

答案 3 :(得分:0)

如果是网址,则可以匹配任何a-z字符,0-9或短划线(-)。每个组件至少有一个字符,因此使用+作为乘数。目前,tlds只是a-z,但这个正则表达式更强大(你永远不知道!):

/www\.[-a-z0-9]+?\.abc\.[-a-z0-9]+?\/somestring/

它没有假设每个组件的长度,而且它都是小写的。

答案 4 :(得分:0)

类似的东西:

www\.\w+\.abc\.\w+\/somestring

我建议使用此Online RegEx builder来了解其工作原理