已经是第二次遇到同样的问题了,要匹配的字符串里含有中文,例如“<你好><Edward>”,我希望取出Edward的名字,所以正则表达式为“<[^>]*><([^>]*)>”,匹配后只要取group(1)即可。在一台装有jdk1.4.2_06国际版的机器上,运行正常,但在装jdk1.4.2_01的机器上,则完全不能匹配。卸载原来的jdk,换成1.4.2_06版就没有问题了。
为什么会有这个区别呢,我试了增加各种参数例如-Duser.language=zh -Duser.region=cn -Dfile.encoding=GBK都没有用,难道我的程序要求用户机器上必须装最新的jdk1.4?但据我所知,还有很多机器上装的是jdk1.4.0呢,更别说jdk5.0了。
时间关系,这个问题暂时放在这里,欢迎提供解决方法。
本文转自博客园八进制的博客,原文链接:用正则表达式处理含中文字符串的问题,如需转载请自行联系原博主。