【发布时间】:2015-12-29 16:03:26
【问题描述】:
我尝试使用一些算法(k-gram 算法等)在我的应用程序中实现通配符搜索,但它非常复杂。
直到我找到了这段代码,它工作得很好......但我不知道它是如何得到检查和得到结果的!
代码:
public static boolean wildCardMatch(String text, String pattern)
{
return text.matches( pattern.replace("?", ".?").replace("*", ".*?") );
}
他们有没有人帮助我知道它是如何工作的?替换函数是什么概念?
【问题讨论】:
-
它正在使用正则表达式...
-
我知道,但是你能用小例子来展示一下吗?
-
替换函数将用户输入
*转换为正则表达式理解的.*?匹配任何非贪婪的...