我需要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.*");
为了匹配实际的点,请将其转为斜线点
\.