jivejdon2.5的代码在搜索的时候总是有些问题

03-11-27 supperarray
我最近在研究jivejdon2.5的代码,在搜索的时候总是有些问题,英文查不出结果,中文会出错: org.apache.oro.text.perl.MalformedPerl5PatternException: Invalid option: b

这个问题是否有哪位大虾解决了,能否帮忙提供些解决方案,谢谢!

supperarray
2003-11-27 13:37
查到是在调用StringUtil.highlightWords(String string, String[] words,String startHighlight, String endHighlight)时抛出的例外,该方法调用了org.apache.oro.text.perl.Perl5Util.substitute(String string, String[] words),把查询条件加为高亮的颜色,在这里出了问题,请问:

words[x] = perl5Util.substitute("s#([\\|\\/\\.])#\\\\$1#g", words[x]);

中参数“s#([\\|\\/\\.])#\\\\$1#g”是起什么作用的?

supperarray
2003-11-27 18:16
终于解决了,正则表达式真是让我晕了一阵子,呵呵

pange
2003-11-30 10:58
怎么解决的啊?能不能贴出来看看啊?

supperarray
2003-12-02 16:35
这里有大虾zhuojun 的解决方法

http://www.jdon.com/jive/article.jsp?forum=61&thread=8465

不过还不能解决luost 所说的“查询的中文英文都会出现错误”的问题,我得益于此文,将正则表达式改为

startHighlight = perl5Util.substitute("s#\\/#\\/#g", startHighlight);

endHighlight = perl5Util.substitute("s#\\/#\\/#g", endHighlight);就可以了,顺便说一句,我的应用服务器是weblogic700,你如果还有问题就输出一下正则表达式,看看和zhuojun 所说的格式一样吗?如果不同就错了

猜你喜欢