我需要Java中的比较器,该比较器的语义与sql“like”运算符相同。
例如:

myComparator.like("digital","%ital%");
myComparator.like("digital","%gi?a%");
myComparator.like("digital","digi%");

应该评估为真,并且
myComparator.like("digital","%cam%");
myComparator.like("digital","tal%");

应该评估为假。关于如何实现这样的比较器的任何想法,或者有人知 Prop 有相同语义的实现吗?可以使用正则表达式吗?

最佳答案

。*将匹配正则表达式中的任何字符

我认为Java语法是

"digital".matches(".*ital.*");

对于单个字符匹配,只需使用单个点。
"digital".matches(".*gi.a.*");

为了匹配实际的点,请将其转为斜线点
\.

09-25 20:19