匹配除查询之外的域中的所有网址

时间:2012-11-05 09:59:36

标签: java regex pattern-matching

我希望匹配(java regex)属于某个域的所有URL,除了看起来像查询字符串的域。

例如我希望匹配

http://www.thehindu.com/arts/music/marrying-keys-to-chips/article4061904.ece

但要避免

http://www.thehindu.com/arts/music?article=23417

我尝试了以下方法,但它允许上述两种模式。

+^http://www\.thehindu\.com([^\?=])*

3 个答案:

答案 0 :(得分:1)

怎么样?
if (yourString.matches("(http://)?www\\.thehindu\\.com[^\\?=]*") {
    // match --> doesn't look like a query
} else {
    // no match --> looks like a query or completely different url
}

答案 1 :(得分:0)

我认为不需要正则表达式,请尝试查找问号?

答案 2 :(得分:0)

试试这个:

(^|\s)http:\/\/www\.thehindu\.com([^\?])*(\s|$)

(^ | \ s)和(\ s | $)是url之间的分隔符。如果需要,可以添加更多内容。

相关问题