sql之Orient-db 正则表达式修饰符

程序猿 阅读:39 2025-02-15 21:57:57 评论:0

我正在使用 orient-db 数据库,但我遇到了正则表达式模式匹配问题。我真的需要在请求中出现不区分大小写的修饰符,但不知何故它并没有像我预期的那样工作。

查询:

select from UserAccounts where email MATCHES '^ther.*' 

按预期返回小写匹配项。

每当我尝试添加修饰符时,外部定界符即

select from UserAccounts where email MATCHES '\^ther.*\i' 

我得到一个空集合。实际上,只要存在分隔符,查询就会返回一个空集合。

如果没有办法附加修饰符,我可能会将每个“alpha”字符替换为方括号中的表达式,即

select from UserAccounts where email MATCHES "^[tT][hH][eE][rR].*" 

但我对这个解决方案不是很满意。

请您参考如下方法:

使用 Java 不区分大小写的正则表达式修饰符(来自 Pattern 的特殊构造)在 OrientDB 1.7.9 中有效 - 对于您的示例:

select from UserAccounts where email MATCHES '(?i)^ther.*' 

(另请参阅:Pattern - Special Constructs)

我也对相应的 OrientDB 问题添加了评论。


声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号