2012-12-11 25 views
0

我正在尝试使用正则表达式对所提供的字符串进行近似匹配。它在java中正常工作,但是当我在mysql中使用正则表达式支持使用相同示例这在java中工作,说不准match.In短同一样品中的Java工作,但在MySQL在MySql中使用java失败的正则表达式

public static void main(String a[]){ 
    if("Java/myService/1,".matches("[[^,]+,]*Java/.*")) 
     System.out.println("Pattern matched"); 
} 

未能在执行上面的代码,你会得到“模式匹配”。

这是返回不匹配或'0'的MySql查询。

select 'Java/myService/1,' regexp '[[^,]+,]*Java/.*'; 

我的理解是最好两者都应该给出一个匹配指定example.Can任何你告诉我,为什么MySQL的比赛是失败在这里?你的帮助是高度赞赏。

感谢

+2

你能拼出来的'[^,] +,*'请为我的本意? – NPE

+0

请注意,'[[^,] +,]'的正确解释是“其中一个字符'[^,] +,'”。 – Matt

回答

0

"[[^,]+,]*Java/.*" 

猜是指:

"([^,]+,)*Java/.*"