gpt4 book ai didi

java - 将 mysql 正则表达式转换为 java 正则表达式(和/或相反)

转载 作者:可可西里 更新时间:2023-11-01 07:04:41 28 4
gpt4 key购买 nike

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

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

最佳答案

其实很简单。这是区别:

要将 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)

关于java - 将 mysql 正则表达式转换为 java 正则表达式(和/或相反),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8753375/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com