我正在尝试使用以下查询进行查询
select * from mytable where mycolumn rlike '\d~[\d\.]+~\d~[\d\.]+~\d~2~(33|44)`以下是mytable中的一些示例数据
id | mycolumn
---|--------------------------------
1 | 1~2.3.1~9~333.2~3~2~33
2 | 1~1.4.3~4~233.2~4~2~44
3 | 1~53.0.2785.124~4~6.0.1~5~2~33
4 | 1~3~3~3~3~6~3但是,结果始终是空的。
正如蜂巢查询语言手册中所述,
如果A或B为NULL,则为NULL,如果A的任何子字符串(可能为空)与Java正则表达式B匹配,则为TRUE,否则为FALSE。例如,“foobar”RLIKE 'foo‘计算为TRUE,“foobar”RLIKE“^f.*r$”也是如此。
我用Java测试了RegExp,它运行得很好。还试图用\\代替\,用\~代替~,但没有成功。
我用来测试的Java代码如下
Pattern p = Pattern.compile("\\d~[\\d\\.]+~\\d~[\\d\\.]+~\\d~2~(33|44)");有人能说出这个问题出了什么问题吗?谢谢!
发布于 2019-05-14 14:56:15
你的开始和结束是不匹配的。你有一个勾勾和一个单引号('`)
https://stackoverflow.com/questions/40538682
复制相似问题