String regex="[食 ]{1}.{0,3}[可樂]{1}";
Pattern pattern=Pattern.compile(regex);  
String t = "我想問下一星期前,即係7日前玩吸食過可卡因其他咩都冇食過,咁驗唔驗到?仲有其實可卡因會殘留係身體幾耐?唔該唔該!!";
Matcher matcher=pattern.matcher(t);  
System.out.println(matcher.find());这段代码是查找“食”和“可樂”的,其中2个词距离最大为3个字符。。但很奇怪这代码运行结果是true,可是“可樂”这个词语是没有出现的,好像是匹配了“食”和“可”2个词了。。我试验了其他词语,也有不定期的出现这个问题这是繁体简体中文编码问题么还是正则本身的缺陷我用eclipse,简体中文xp,eclipse的编码是GBK,但我改成utf-8也没用,还是这个结果。。