将mysql正则表达式转换为java正则表达式(反之亦然)

将mysql正则表达式转换为java正则表达式(反之亦然),java,mysql,regex,Java,Mysql,Regex,我有一些正则表达式需要从mysql转换为java,但当传递到String.matches()时,它们不起作用 如何将mysql正则表达式转换为java正则表达式? 是否有任何API(内置或第三方)可以实现这一点?非常简单。区别在于: Java需要匹配整个字符串 mysql只需要匹配字符串的一部分 要将mysql正则表达式转换为java正则表达式,基本上需要在正则表达式的每一端添加“*”,或者将其从“部分”匹配转换为完全匹配 下面是一些示例来演示: JAVA mysql 伙计!您必须发布您的尝

我有一些正则表达式需要从mysql转换为java,但当传递到String.matches()时,它们不起作用

如何将mysql正则表达式转换为java正则表达式?

是否有任何API(内置或第三方)可以实现这一点?

非常简单。区别在于:

  • Java需要匹配整个字符串
  • mysql只需要匹配字符串的一部分
要将mysql正则表达式转换为java正则表达式,基本上需要在正则表达式的每一端添加
“*”
,或者将其从“部分”匹配转换为完全匹配

下面是一些示例来演示:

JAVA mysql
伙计!您必须发布您的尝试(精确地说是简洁的代码片段)。
"xyz".matches("y"); // false - only matches part of the input
"xyz".matches(".*y.*"); // true
"xyz".matches("[xyz]"); // false - only matches one char, but String is 3 chars
"xyz".matches("[xyz]+"); // true
select 'xyz' regexp 'y'; -- 1 (ie true)
select 'xyz' regexp '.*y.*'; -- 1 (ie true)
select 'xyz' regexp '[xyz]'; -- 1 (ie true)
select 'xyz' regexp '[xyz]+'; -- 1 (ie true)