【问题标题】:Convert mysql regex to java regex (and/or vice versa)将 mysql 正则表达式转换为 java 正则表达式(和/或反之亦然)
【发布时间】:2012-01-06 04:28:45
【问题描述】:

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

如何将 mysql 正则表达式转换为 java 正则表达式?
是否有任何 API(内置或第三方)可以执行此操作?

【问题讨论】:

  • 男人!您必须发布您的尝试(准确简洁的代码 sn-ps)。

标签: java mysql regex


【解决方案1】:

这真的很简单。区别如下:

要将 mysql 正则表达式转换为 java 正则表达式,基本上将 ".*" 添加到正则表达式的每一端,或者将其从“部分”匹配转换为完全匹配。

这里有一些例子来演示:

Java

"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

mysql

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2016-07-13
    • 2020-07-25
    • 2017-12-15
    相关资源
    最近更新 更多