这应该返回true,而是返回false。Java的正则表达式无法找到匹配
"ADC".matches("A.*?C")
我已经测试了一个javascript正则表达式测试仪:http://regexpal.com/
和它的作品,为什么没有在Java中工作?
编辑: 同样的,这样的:
System.out.println("DEAGHHF".matches("(A.*?C|C.*?A|D.*?C|C.*?D|A.*?F|F.*?A)"));
返回false,regexpal真(aswhile其他JavaScript的正则表达式引擎)。
对不起,对于小广告(我只用自己的工具,我不为他们工作),但你可以尝试regexpal提到“使用RegexBuddy”,它允许软件你甚至可以导出一个函数在Java中使用。 – 2011-05-07 19:50:19
你确定你已经向我们展示了正确的表达和输入吗?该表达式与我在regexpal.com上的输入匹配,并且当我运行'“ADC”.matches(“A。*?C”)'时。 – 2011-05-07 19:54:50
A.?C|C.?A|D.?C|C.?D|A.?F|F.?A的正则表达式表示,该字符串应该是长度为2或3串为什么要DEAGHHF比赛你有比这更长的路,所以你只能得到部分匹配。 – Kaj 2011-05-07 20:05:50