java – 正则表达式匹配对ebay网站的否定
发布时间:2020-12-15 04:10:11 所属栏目:Java 来源: (?i)^((http|https)://)?(\
导读:我有一个正则表达式匹配任何易趣网站: (?i)^((http|https)://)?(w+.)*ebay.(w+.)+ 我想否定它,以匹配所有,除了这个网站 我试过了: (?! pattern )(?!pattern)[^pattern] 但没有任何效果.也许我的第一个正则表达式太不合理了? java中的测试用例: Patter
我有一个正则表达式匹配任何易趣网站:
(?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()); } 解决方法
明显的回应:
Pattern queryPattern = Pattern.compile("(?i)^((http|https)://)?(w+.)*ebay.(w+.)+"); List<String> queries = new LinkedList<String>(); ... for (String query : queries) { if (queryPattern.matcher(query).find() == false) { System.out.println("Non Ebay site: " + query + " " + queryPattern.matcher(query).find()); } } 输出: Non Ebay site: naebay.com false Non Ebay site: ru.naebay.ru false Non Ebay site: blah.ru false (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |