在java中工作的正则表达式在MySql中失败
我正在尝试使用正则表达式对提供的字符串进行近似匹配。它在java中运行良好,但当我在mysql中尝试使用正则表达式支持与在java中工作的同一个示例进行近似匹配时,表示不匹配。简言之,同一个示例在java中工作,但在mysql中失败在java中工作的正则表达式在MySql中失败,java,mysql,Java,Mysql,我正在尝试使用正则表达式对提供的字符串进行近似匹配。它在java中运行良好,但当我在mysql中尝试使用正则表达式支持与在java中工作的同一个示例进行近似匹配时,表示不匹配。简言之,同一个示例在java中工作,但在mysql中失败 public static void main(String a[]){ if( "Java/myService/1,".matches("[[^,]+,]*Java/.*")) System.out.println("Pattern ma
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/.*';
我的理解是,理想情况下,两者都应该为指定的示例提供一个匹配项。你们中有人能告诉我为什么MySql匹配项在这里失败吗?非常感谢你们的帮助
谢谢我想是的
"[[^,]+,]*Java/.*"
这意味着:
"([^,]+,)*Java/.*"
请你为我解释一下
[[^,]+,]*
的意思好吗?请注意[[^,]+,]
的正确解释是“其中一个字符[^,]+,
”。