eBay サイトに一致する正規表現があります。
(?i)^((http|https)://)?(\w+\.)*ebay.(\w+.)+
否定したい、このサイト以外は全部一致させたい
私は試した:
(?! pattern )
(?!pattern)
[^pattern]
しかし、何も機能しませんでした。多分私の最初の正規表現は最適ではありませんか?
Java のテストケース:
Pattern queryPattern = Pattern.compile("(?i)^((http|https)://)?(\\w+\\.)*ebay.(\\w+.)+");
List<String> queries = new LinkedList();
queries.add("http://www.ebay.com/blabla");
queries.add("www.ebay.com/blabla");
queries.add("www.eBay.com/blabla");
queries.add("www.ebay.com.hk/blabla");
queries.add("www.ebay.co.uk");
queries.add("ttt.ebay.com");
queries.add("ru.ebay.com");
queries.add("test.ru.ebay.com");
queries.add("test.ru.ebAY.com");
queries.add("ebay.com");
queries.add("naebay.com");
queries.add("ru.naebay.ru");
queries.add("blah.ru");
for (String query : queries) {
System.out.println(query + " " + queryPattern.matcher(query).find());
}