【发布时间】:2014-01-23 12:03:20
【问题描述】:
我有一个类似google.com 的输入和一个类似的值列表
1. *.com
2. *go*.com
3. *abc.com
4. *le.com
5. *.*
我需要在 java 中编写一个模式,它应该返回除*abc.com 之外的所有匹配项。我尝试了一些,但没有按预期工作。请帮忙。提前致谢。
更新:
public static void main(String[] args) {
List<String> values = new ArrayList<String>();
values.add("*.com");
values.add("*go*.com");
values.add("*abc.com");
values.add("*le.com");
values.add("*.*");
String stringToMatch = "google.com";
for (String pattern : values) {
String regex = Pattern.quote(pattern).replace("*", ".*");
System.out.println(stringToMatch.matches(regex));
}
}
输出:
false
false
false
false
false
我试过了,但模式不匹配。
【问题讨论】:
-
请发表您的尝试。
-
我只能做反向匹配。即,输入 *.com 匹配 google.com