Java正则表达式模式没有';t在Linux下工作(Amazon Beanstalk)

Java正则表达式模式没有';t在Linux下工作(Amazon Beanstalk),java,regex,linux,amazon-elastic-beanstalk,Java,Regex,Linux,Amazon Elastic Beanstalk,我有一个java正则表达式模式,它在Mac OSX的Tomcat7下工作得非常好,但是在Amazon Linux下(在Amazon Elastic Beanstalk上使用)它永远都不匹配 模式如下: (\d\.)(([^\d\s])([a-z/\s]*)) 下面是一些文本示例: 1.AAAA/BBBBBB 以下是java代码: Pattern pattern = Pattern.compile(PATTERN, Pattern.CASE_INSENSITIVE); Matcher m

我有一个java正则表达式模式,它在Mac OSX的Tomcat7下工作得非常好,但是在Amazon Linux下(在Amazon Elastic Beanstalk上使用)它永远都不匹配

模式如下:

(\d\.)(([^\d\s])([a-z/\s]*))
下面是一些文本示例:

  1.AAAA/BBBBBB 
以下是java代码:

Pattern pattern = Pattern.compile(PATTERN, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
    //....
}
我不明白在这个问题上有什么不同。谁

已编辑

更多信息:相同的.war文件,在我的Windows下,MacOS平台工作得很好,但在AmazonBeanstalk和UbuntuLinuxNo。 我认为@study是对的,可能是因为OpenJDK,但我现在在windows下,现在无法测试它

这是测试它的代码:

我不认为Tomcat版本会导致不同的结果,所以唯一的区别是JRE版本

在elastic beanstalk tomcat 7 x64中,您使用的是OpenJDK 1.6.0_24

[ec2-user@ip-10-121-5-162 ~]$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.4) (amazon-52.1.11.4.46.amzn1-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
在OS X 10.8.5(OS X 2013-004和10.6更新版)中,您使用的是Oracle JDK 1.6.051

server:bin study$ java -version
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)

我不确定,但在Java中通常必须转义反斜杠。您是否尝试过:
(\\d\\)([^\\d\\s])([a-z/\\s]*)
?是的!当然java正则表达式应用程序正在本地tomcat上运行。您是如何使用这个正则表达式的?我编辑并添加了代码。两种情况下的输入是否相同?是的,这是真的。但是,当更改vm时,正则表达式有什么不同?在OpenJDK中是否遇到过类似的问题?我在问题中添加了更多信息。嗨@EdPichler,我已经在你们的要点评论中发布了测试结果。它工作正常。Hi@study,我刚刚用OpenJDK在Ubuntu上测试过,它不工作。Hi@EdPichler,它在我的Amazon Ubuntu 12.04.02 x64 EC2实例上工作正常。我已将测试结果附在您的要点评论中。